【发布时间】:2017-12-04 22:04:06
【问题描述】:
将多个记录从一个集合移动到另一个集合的正确方法是什么。我遇到过其他几个 SO 帖子,例如 this,它们处理实现相同的目标,但没有一个有 python 实现。
#Taking a number of records from one database and returning the cursor
cursor_excess_new = db.test_collection_new.find().sort([("_id", 1)]).limit(excess_num)
# db.test.insert_many(doc for doc in cursor_excess_new).inserted_ids
# Iterating cursor and Trying to write to another database
# for doc in cursor_excess_new:
# db.test_collection_old.insert_one(doc)
result = db.test_collection_old.bulk_write([
for doc in cursor_excess_new:
InsertMany(doc for each doc in cur)
pprint(doc)
])
如果我使用 insert_many,我会收到以下错误:pymongo.errors.OperationFailure: Writes to config servers must have batch size of 1, found 10
bulk_write 在 for 循环开始时给我一个语法错误。
在 pymongo 中将记录从一个集合传输到另一个集合以使其具有原子性的最佳实践和正确方法是什么?
【问题讨论】:
标签: python database mongodb nosql pymongo