Несколько одновременных обновлений с MongoDB/PyMongo?

В соответствии с PyMongo docs update() может обновлять только один документ за раз. Скажем, у меня есть 100 документов, которые я хочу обновить одновременно. Это много накладных расходов. Есть ли способ обновить несколько документов с помощью одного запроса MongoDB через PyMongo?

Ответ 1

На самом деле вы можете обновить несколько документов с помощью опции multi:

collection.update(spec, doc, multi=True)

Это обновление всех совпадений.

Ответ 2

вы можете обновлять несколько документов с разными _id за раз, используя функцию массовой записи, доступную в mongodb 2.6 попробуйте http://api.mongodb.org/python/current/examples/bulk.html

в точности вы можете использовать операции упорядоченной массовой записи, которая обновляет большую часть записей, которые имеют разные критерии.

для получения более подробной информации Лучший способ читать и обновлять документы mongodb с использованием pymongo