MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB &Meteor - Abfrage zum Pushen in ein verschachteltes Array funktioniert nicht, es wird kein Fehler ausgegeben

Entfernen Sie den Positionsoperator ($ ) aus der query Parameter des update Funktion.

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

Aus der Dokumentation:

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

Der Positionsoperator sollte im update verwendet werden -Parameter und nicht in der query Parameter. Dadurch werden nur die ersten boards aktualisiert Objekt, das den passenden title hat .