Несколько одновременных обновлений с MongoDB / PyMongo? - PullRequest
10 голосов
/ 30 июня 2010

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

Ответы [ 2 ]

14 голосов
/ 30 июня 2010

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

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

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

1 голос
/ 26 августа 2014

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

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

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

...