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

MongoDB &Meteor - La requête à pousser dans le tableau imbriqué ne fonctionne pas, aucune erreur n'est générée

Supprimez l'opérateur positionnel($ ) à partir de la query paramètre de la update fonction.

Meteor.users.update(
    { 
        _id:options.userId, 
        'buyer.boards.title':options.boardTitle 
    },
    { $push: { 
        'buyer.boards.$.idArr':options.newId }
    }
);

À partir de la documentation :

db.collection.update(
   { <array>: value ... },
   { <update operator>: { "<array>.$" : value } }
)

L'opérateur positionnel doit être utilisé dans la update paramètre et non dans la query paramètre. Cela ne met à jour que les premiers boards objet qui a le title correspondant .