簡體   English   中英

python mongo db聚合查詢以進行備份

[英]python mongo db aggregate query for taking backup

在以前的一篇文章中,建議使用db[collection].aggregate([{'$match': {}}, {'$out': collection + timestamp}])來備份集合。 但這正在創建一個臨時集合。

我想以python格式使用以下查詢。

db.collection1.find().forEach(function(d){db.collection2.save(d)})

謝謝,

首先,我假設您正在使用PyMongo庫。 是集合上find函數的文檔。

是集合上insert_one函數的文檔。 這是從一個集合中獲取所有文檔並將其插入到另一個函數中的一種方法。

for doc in db.collection1.find({}):
    db.collection2.insert_one(doc)

您還可以使用insert_many函數以不同的方式執行相同的操作。

db.collection2.insert_many(db.collection1.find({}))

免責聲明:我還沒有完全測試這些! 確保以任何方式依賴代碼之前都要對其進行測試。

這是您在python中進行復制的方式:

from pymongo import MongoClient

client = MongoClient()
db = client.yourDBname

n = 0
for r in db.sourceCollection.find():
    db.targetCollection.insert(r)
    n += 1

print "copied",n,"items"

暫無
暫無

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

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