我需要使用pymongo对mongodb进行批量删除。我正在获取需要通过查询删除的文档的_id字段,但是我无法弄清楚如何使用_id,因为我要删除10,000个数据块。
答案 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 Operations和MongoDB Bulk Write Operations。