Pymongo 批量删除

Pymongo Bulk Delete

我需要使用 pymongo 为 mongodb 执行批量删除。我得到了我需要通过查询删除的文档的 _id 字段,但我无法弄清楚如何使用 _id,我将以 10,000 的块被删除。

下面是 Unordered Bulk Write Operations using current PyMongo v3.7.2 的例子:

from pymongo import DeleteOne
from pymongo.errors import BulkWriteError

requests = [
        DeleteOne({'_id': 101}),
        DeleteOne({'_id': 102})]
try:
    db.collection.bulk_write(requests, ordered=False)
except BulkWriteError as bwe:
    pprint(bwe.details)

上面的示例使用了 unordered 操作,因为无序的批量操作被分批处理并以任意顺序发送到服务器,它们可以 并行 执行。在尝试所有操作后报告发生的任何错误。另请参阅 PyMongo Bulk Write Operations and MongoDB Bulk Write Operations 了解更多信息。