pymongo是否提供API来启用集合和行的备份或导出?
问问题
5843 次
1 回答
1
让我分两部分回答这个问题
- pymongo 是否提供 API 来启用集合和行的备份或导出?
截至目前,没有。它没有提供备份/mongodump的绑定方法
- 可以使用 pymongo 来启用集合和行的备份或导出吗?
是的。假设我们有一个集合 col,其中包含以下文档
{
'price':25,
'name':'pen'
},
{
'price':20,
'name':'pencil'
},
{
'price':10,
'name':'paper'
},
{
'price':25000,
'name':'gold'
}
我们的目标是备份所有满足价格小于 100 条件的文档。使用 pymongo 的 find 功能。这可以通过
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))
于 2013-10-23T18:13:57.210 回答