2010-06-29 6 views

Répondre

14

En fait, vous pouvez mettre à jour plusieurs documents avec l'option multi:

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

Cela met à jour tous les matches.

+0

Désolé, pourriez-vous être plus précis? Dire que je tire 10 objets de la base de données, chacun avec un '_id' unique, et je change un champ dans chaque. Comment puis-je mettre ces changements dans la base de données? Points bonus pour la simplicité et l'efficacité des requêtes. –

+0

Chacun des changements est-il différent? Si c'est le cas, vous devrez faire des mises à jour séparées. Vous ne pouvez pas les mettre en lot, mais je doute que le fait de ne pas pouvoir les envoyer ensemble est un goulot d'étranglement. – kristina

+0

Ah, je vois. Merci. –

1

vous pouvez mettre à jour plusieurs documents avec différents _id à la fois en utilisant la fonction majeure d'écriture disponible dans MongoDB 2.6 essayer ce http://api.mongodb.org/python/current/examples/bulk.html

dans précis, vous pouvez utiliser Ordonné Opérations en masse d'écriture qui met à jour une masse de documents qui sont avec différents critères.

Voir ce pour plus de détails Best way to read and update mongodb documents using pymongo

Questions connexes