4 votes

Mangouste : Comment puis-je mettre à jour des documents avec des valeurs de tableau correspondant à un élément du tableau ?

Utilisation de Node.js, mongoDB, mongoose :

J'ai une collection de base de données dont les enregistrements ont des champs de tableaux de chaînes de caractères.

J'ai besoin de supprimer des éléments dans les tableaux de tous les enregistrements qui correspondent à une chaîne de caractères passée.

Il s'agit de trouver tous les enregistrements dont le tableau contient une correspondance, de séparer les éléments du tableau et de sauvegarder les enregistrements dans la base de données.

J'ai du mal à trouver comment faire.

4voto

kristina Points 7269

Vous devriez pouvoir le faire avec un $pull ou un $pullAll (comme décrit ici : www.mongodb.org/display/DOCS/Updating#Updating-%24pull). Par exemple, dans la coquille :

> db.coll.update({}, {$pull : {arrField : passedString}}, false, true);

Cette opération met à jour tous les documents en extrayant la chaîne passée du tableau arrField, s'il existe. ( false pour l'absence d'upsert, true pour mettre à jour plusieurs documents).

3voto

Amit Points 1341

Vous pouvez utiliser quelque chose comme

Model.update({}, {$pull : {arrField : passedString}}, function(){})

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