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 .