67 votes

Comment limiter le nombre de documents de mise à jour dans mongodb

Comment mettre en œuvre quelque chose de similaire à `` mais lors de la mise à jour des documents?

Maintenant, j’utilise quelque chose de vraiment merdique comme obtenir des documents `` avec et ensuite les mettre à jour.

En général, je veux renvoyer un nombre donné d’enregistrements et modifier un champ dans chacun d’eux.

Merci.

22voto

baylee Points 559

``L’utilisation pour mettre à jour individuellement chaque document est lente. Vous pouvez mettre à jour les documents en bloc à l’aide de

15voto

Pablo Cantero Points 2746

Les solutions qui itérent sur tous les objets puis les mettent à jour individuellement sont très lentes.

Les récupérer tous puis les mettre à jour simultanément à l’aide `` est plus efficace.

La requête est écrite à l’aide de Mongoid, mais peut également être facilement réécrite dans Mongo Shell.

12voto

lobster1234 Points 4572

Malheureusement, la solution de contournement que vous avez est la seule façon de le faire AFAIK. Il existe un indicateur booléen qui mettra à jour toutes les correspondances (quand ) ou mettra à jour la 1ère correspondance (quand `` ).

2voto

Nonos Points 358

Comme l’indique la réponse, il n’y a toujours aucun moyen de limiter le nombre de documents à mettre à jour (ou à supprimer) à une valeur > 1. Une solution de contournement pour utiliser quelque chose comme :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X