Plusieurs mises à jour simultanées avec MongoDB / PyMongo?
Question
Selon le PyMongo docs , update()
peut ne met à jour un seul document à la fois. Disons que j'ai 100 documents que je veux mettre à jour simultanément. Cela fait beaucoup de frais généraux. Est-il possible de mettre à jour plusieurs documents avec une seule requête MongoDB par PyMongo?
La solution
En fait, vous pouvez mettre à jour plusieurs documents avec l'option multi:
collection.update(spec, doc, multi=True)
Cette mise à jour tous les matches.
Autres conseils
vous pouvez mettre à jour plusieurs documents avec différents _id à la fois en utilisant la fonction d'écriture en vrac disponible dans MongoDB 2.6 essayez cette http://api.mongodb.org/python/current/examples/ bulk.html
précis que vous pouvez utiliser Ordonné en vrac opérations d'écriture qui met à jour une masse de documents qui sont des critères différents.
voir ce pour plus de détails la meilleure façon de lire et mettre à jour les documents de MongoDB en utilisant pymongo