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

MongoDB:aggiornamenti incondizionati?

L'errore dice tutto:puoi modificare più documenti solo usando il $ operatori modificatori. Probabilmente hai avuto qualcosa del genere:

> db.coll.update({ }, { a: 'b' }, false, true);

Che normalmente sostituisce il primo oggetto della raccolta con { a: 'b' } se multi era falso. Non vorrai sostituire tutti gli oggetti della tua collezione con lo stesso documento!

Usa il $set operatore invece:

> db.coll.update({ }, { '$set': { a: 'b' } }, false, true);

Questo imposterà il a proprietà di ogni documento (creandolo se necessario) a 'b' .