Мне нужно использовать pymongo для массового удаления mongodb.Я получаю поле _id документов, которые мне нужно удалить, с помощью запроса, но я не могу понять, как использовать _id, которые я получаю, чтобы их можно было удалить кусками по 10000.
Ниже приведен пример неупорядоченных операций массовой записи с использованием текущего 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 для получения дополнительной информации.
unordered