Pymongo批量删除

时间:2018-12-10 21:16:45

标签: python mongodb pymongo bulk bulk-delete

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

1 个答案:

答案 0 :(得分:0)

以下是Unordered Bulk Write Operations使用当前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操作,因为无序的批量操作是按任意顺序批处理并发送到服务器的,它们可以在 parallel 中执行。尝试所有操作后,将报告发生的任何错误。有关更多信息,另请参见PyMongo Bulk Write OperationsMongoDB Bulk Write Operations