如何使用txMongo insert_many避免重复密钥?

时间:2016-04-05 14:39:53

标签: mongodb python-3.x pymongo-3.x

我正在尝试在MongoDB中插入文档列表,每个文档都有“_id”字段。所以当我发送这样的列表时

[{"_id":"2"}, {"_id":"1"}, {"_id":"3"}]

至少有一个_id已经在数据库中,它显示pymongo.errors.DuplicateKeyError

我需要使用insert_many或任何类似的功能,当我使用它时,它会返回一个列表,其中包含未插入的ID或插入的ID。

我已经看到insert_many逐个插入,当它找到异常时,它会停止并且不会插入其余的文档。

你知道我可以使用的任何替代txMongo插入所有文件并将其归还给那些无法插入的文件吗?

我不想逐个插入因为我可能发送一个巨大的列表。

1 个答案:

答案 0 :(得分:1)

这可能会对您有所帮助:

Performing Unordered Insert in MongoDB using PyMongo

只需将unordered属性设置为false即可。同样可以看到here