3

我需要使用 pymongo 对 mongodb 进行批量删除。我正在获取需要通过查询删除的文档的 _id 字段,但我无法弄清楚如何使用 _id 我将被删除为 10,000 个块。

4

1 回答 1

5

以下是使用当前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 批量写入操作MongoDB 批量写入操作

于 2018-12-12T00:38:31.130 回答