MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongodDB $ ne tire qu'un seul élément du tableau

Non, il n'y a rien de tel pour le moment. De nombreuses personnes ont déjà demandé la fonctionnalité et vous pouvez la suivre dans mongodb Jira . Pour autant que vous puissiez voir, il n'est pas résolu et n'est pas non plus programmé (ce qui signifie que vous n'avez pas de chance dans un avenir proche).

La seule option consiste à utiliser la logique d'application pour y parvenir :

  1. trouver l'élément que vous voulez et qui a userTags comme foo
  2. parcourir les userTags et en supprimer un foo
  3. mettre à jour cet élément avec un nouveau userTags

Gardez à l'esprit que cette opération brise l'atomicité, mais comme Mongo n'a pas fourni de méthode native pour le faire, vous casserez l'atomicité de quelque manière que ce soit.

J'ai déplacé une solution alternative à la nouvelle réponse, car elle ne répond pas à cette question, mais représente l'une des approches pour refactoriser le schéma existant. Il est également devenu si gros qu'il a commencé à être beaucoup plus gros que la réponse d'origine.