【发布时间】:2016-07-05 03:22:48
【问题描述】:
如果我需要在MongoDB中插入一个尚不存在的文档
db_stock.update_one(document, {'$set': document}, upsert=True)
.将完成这项工作(如果我错了,请随时纠正我)
但是,如果我有一个文档列表并且想要将它们全部插入,那么最好的方法是什么?
这个question 有一个单记录版本,但我需要它的一个整体版本,所以它是不同的。
让我重新提出我的问题。我有数以百万计的文档,其中很少有可以存储的。如何在几秒钟内而不是几分钟/几小时内将剩余的存储在 MongoDB 中?
【问题讨论】:
-
不幸的是,没有其他方法可以迭代文档并使用 update_one。我在考虑批量操作,但要使用 bulk.find.upsert 你需要先在 db 中有这个文档。
-
好的。可以批量删除列表中的文档,然后批量插入吗?
-
如果您将完整的集合放入列表 - 那么您可以删除集合并插入,或通过已知 ID(检索到的)删除并使用 insert_many 重新插入。
标签: python mongodb mongodb-query pymongo