Selon le PyMongo docs, update()
ne peut mettre à jour qu'un seul document à la fois. Disons que j'ai 100 documents que je veux mettre à jour simultanément. C'est beaucoup de frais généraux. Est-il possible de mettre à jour plusieurs documents avec une seule requête MongoDB via PyMongo?Multiples mises à jour simultanées avec MongoDB/PyMongo?
10
A
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.
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
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. –
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
Ah, je vois. Merci. –