MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB e Meteor - La query per il push nell'array nidificato non funziona, nessun errore generato

Rimuovere l'operatore posizionale($ ) dalla query parametro dell'update funzione.

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

Dai documenti:

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

L'operatore posizionale dovrebbe essere utilizzato nell'update parametro e non nella query parametro. Questo aggiorna solo le prime boards oggetto che ha il title corrispondente .