gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:15:37 25 4
gpt4 key购买 nike

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

最佳答案

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

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

截至目前,否。它不提供备份/mongodump 的绑定(bind)方法

  • 是否可以使用 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))

关于python - 如何使用 pymongo 备份和恢复 MongoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com