[英]How can I copy one collection from MongoDB using pymongo and paste to another empty collection?
[英]How can I backup and restore MongoDB by using pymongo?
pymongo是否提供API來啟用集合和行的備份或導出?
讓我分兩部分回答這個問題
截至目前,不是。它沒有為備份/ mongodump提供綁定方法
是。 假設我們有一個集合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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.