簡體   English   中英

如何使用pymongo備份和恢復MongoDB?

[英]How can I backup and restore MongoDB by using pymongo?

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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM