微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何使用pymongo备份和恢复MongoDB?

pymongo是否提供API来启用集合和行的备份或导出?

解决方法:

让我分两部分回答这个问题

> pymongo是否提供API来启用备份或导出
集合和行?

截至目前,不是.它没有为备份/ mongodump提供绑定方法

>可以使用pymongo来启用集合的备份或导出
行?

是.
假设我们有一个集合col,其中包含以下文档

{
   'price':25,
   'name':'pen'
},
{
   'price':20,
   'name':'pencil'
},
{
   'price':10,
   'name':'paper'
},
{
   'price':25000,
   'name':'gold'
}

我们的目标是备份满足价格低于100的条件的所有文件.
使用pymongo的查找功能.这可以通过

db.col.find({'price':{'$lt': 100}})

上面的代码返回一个游标对象.我们备份所需的所有文档都在该游标对象中.

插入所有文档的一种简单方法是逐个递归调用文档并插入它们.

但更好的方法是使用光标上的list()并一次性插入所有文档.

cursor = db.col.find({'price':{'$lt': 100}})
db.backup.insert(list(cursor))

备份集合的内容将是

{
   'price':25,
   'name':'pen'
},
{
   'price':20,
   'name':'pencil'
},
{
   'price':10,
   'name':'paper'
}

如果没有要求将条目限制为备份.可以使用空的find()

cursor = db.col.find()
db.backup.insert(list(cursor))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐