繁体   English   中英

使用pymongo从磁盘加载和保存mongoDB数据库

[英]loading and saving mongoDB database from/to disk with pymongo

我是mongoDB和pymongo的新手,试图学习如何从/向磁盘加载和保存数据库,以便我可以随身携带,将其发送给人等。我已经阅读了http://api.mongodb上的教程.org / python / current / tutorial.html但找不到有关保存和加载数据库的有用信息。

假设我们创建一个数据库,如:

import pymongo
mongo = pymongo.Connection()
db = mongo['my_db']
col = db['my_col']
col.insert({'name': 'Adam','occupation': 'student'})
col.insert({'name': 'John','occupation': 'officer'})
#how can we save the database to disk after this point 
#and later read it from another program?

MongoDB文件是可移植的,有几种方法可以实现您的目标:

  • mongod的数据目录复制到另一台计算机。 该目录通常基于/data/db/mongodb 在另一台计算机上,您只需将远程目录替换为您复制的远程目录,然后重新启动远程mongod ,此时您将拥有其系统上的数据。 据我所知,MongoDB在这里没有热插拔功能,您可以按需切换目录而无需停机。

  • 对数据进行热备份,并使用MongoDBs导出和导入功能选择要放置到远程计算机上的数据子集。 你可以通过mongodumpmongorestore进行热备份。 您可以在此处找到常规文档页面: http//docs.mongodb.org/manual/administration/backups/#using-binary-database-dumps-for-backups

  • 对数据进行CSV / JSON导出并将其导入远程计算机。 这很像这个特定场景中的二进制备份,除了它们对终端方等也更具可读性。我还应该注意,这个方法只是插入,它与批量插入客户端迭代相同(像PHP这样的东西) CSV并在MongoDB服务器上调用批量插入。 您可以在此处找到有关mongoexportmongoimport (执行此操作的程序)的更多信息: httpmongoimport

您还可以在此处找到与备份数据并将其移动并在外部计算机上恢复相关的一般信息: http//docs.mongodb.org/manual/administration/backups/

  • 要使用pymongo在mongodb中插入新条目,您所做的就足够了。 即这样做

    col.insert({'name':'John','Occup':'officer'})

将自动将这些条目保存在集合中。 您也可以使用pymongo更改条目,如下所示:

col.update({'name': 'Adam'},{'$set':{'occupation': 'officer'}})

最后关闭连接是一个很好的做法:

mongo.close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM