THI*_*ELP 0 python database mongodb pymongo
我们当前的Python管道从Web上擦除并将这些数据存储到MongoDB中.之后,我们将数据加载到分析算法中.这在本地计算机上运行良好,因为mongod找到数据库,但我想在Google Drive等共享平台上上传数据库,以便其他用户可以使用数据而无需再次运行刮刀.
我知道MongoDB默认将数据存储在/ data/db,所以我可以将整个/ data/db上传到Google Drive吗?
另一种选择似乎是将MongoDB导出为JSON或CSV,但我们当前的分析算法实现已经直接从MongoDB加载.
是的,您可以上传/data目录,这是备份数据库的一种方法.您还可以使用mongodump带--gzip或mongoexport作为你指出你自己.
如果您希望定期进行备份,则可以定期进行cp/rsync/ data目录.您还可以定期bash脚本mongodump/mongoresore和mongoexport/mongoimport备份数据库,或者按照其他答案的建议使用mongolab.
所以你有三个选择,
mongodump和mongorestore/data目录的基础内容来创建备份(如果需要定期备份,则可以使用cp/rsync此目录)mongoexport和mongoimport(在此之前阅读)使用mongodump并恢复
在版本3.x中,您只需运行(使用默认端口转储默认的mongodb实例)
mongodump
Run Code Online (Sandbox Code Playgroud)
您需要指定早期版本 --dbPath
上面的mongodump命令创建一个转储目录,在该目录中,它将为mongodb中的每个数据库创建子目录.如果您希望转储特定集合(name = collection),那么以下内容将非常有用
mongodump --db test --collection collection
Run Code Online (Sandbox Code Playgroud)
您可以使用--gzip和其他类似的命令行选项.有关详细信息和额外的命令行选项,请阅读此处.
您可以使用恢复转储的数据库mongorestore,命令如下
mongorestore --dir <path>
Run Code Online (Sandbox Code Playgroud)
就像mongodump你可以指定一个主机名,端口号(如果分差),一个数据库名称等等等等看这里了解更多信息.
使用mongoexport和mongoimport
允许以JSON或CSV格式导入.不推荐用于prod的完整备份,请参见此处.要导出,请运行带有一个或多个选项的命令,如下所示(指定要备份的数据库名称和集合 - 默认为JSON,但是,如果要导入CSV则--type=csv)
mongoexport --db threads --collection messages --out messages.json
Run Code Online (Sandbox Code Playgroud)
您可以使用mongoimport将备份集合导入mongodb,如下所示
mongoimport --db threads --collection message --file messages.json
Run Code Online (Sandbox Code Playgroud)
有关更多选项,请参阅此处,特别是如果要导出查询结果.
| 归档时间: |
|
| 查看次数: |
2708 次 |
| 最近记录: |