Pymongo Bulk Удалить - PullRequest
       41

Pymongo Bulk Удалить

0 голосов
/ 11 декабря 2018

Мне нужно использовать pymongo для массового удаления mongodb.Я получаю поле _id документов, которые мне нужно удалить, с помощью запроса, но я не могу понять, как использовать _id, которые я получаю, чтобы их можно было удалить кусками по 10000.

1 Ответ

0 голосов
/ 12 декабря 2018

Ниже приведен пример неупорядоченных операций массовой записи с использованием текущего 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 для получения дополнительной информации.

...