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
Questions connexes
- 1. Mises à jour simultanées sur deux contextes d'affichage dans openGL
- 2. ChangeConflictException dans les mises à jour non simultanées de Linq à Sql
- 3. Mises à jour Linq2Sql
- 4. plusieurs mises à jour avec un select?
- 5. Grande table MyISAM lent, même pour les insertions non simultanées/mises à jour
- 6. Mise à jour de l'interface utilisateur avec plusieurs opérations simultanées
- 7. PHP Application Mises à jour
- 8. Batch View mises à jour
- 9. log mises à jour mysql
- 10. MGTwitterEngine Mises à jour d'amis
- 11. interroger plusieurs mises à jour
- 12. meioupload et mises à jour
- 13. HQL mises à jour multiples. Y a-t-il un meilleur moyen?
- 14. JTable mises à jour n'apparaissant pas
- 15. Vérifier périodiquement les mises à jour
- 16. Ruby - Feedzirra et mises à jour
- 17. Ai-je raison de dire que InnoDb est meilleur pour les mises à jour et insertions simultanées fréquentes que MyISAM?
- 18. Mises à jour LINQ to SQL
- 19. Lucene.NEt Index mises à jour + structuremap
- 20. C# Mises à jour par lots DataSets
- 21. Comment puis-je afficher les mises à jour avec gem?
- 22. Cache de second niveau NHibernate avec mises à jour externes
- 23. Exécuter les mises à jour du plugin avec Eclipse UI
- 24. Mises à jour de données manquantes
- 25. Entity Framework, WCF et mises à jour
- 26. asp.net mvc complexe mises à jour ajax
- 27. Ajax, Vérifier les mises à jour, Same_origin_policy
- 28. Gestion simultanée session Mises à jour
- 29. Valeurs entières mises à jour par XML
- 30. Mises à jour d'Asynch GUI dans Smalltalk
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. –