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

MongoDB:bedingungslose Updates?

Der Fehler sagt alles:Sie können mehrere Dokumente nur mit dem $ ändern Modifikatoroperatoren. Sie hatten wahrscheinlich so etwas:

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

Was normalerweise ersetzen würde das erste Objekt in der Sammlung mit { a: 'b' } wenn multi war falsch. Sie möchten sicher nicht alle Objekte in Ihrer Sammlung durch dasselbe Dokument ersetzen!

Verwenden Sie den $set Operator stattdessen:

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

Dadurch wird a gesetzt -Eigenschaft jedes Dokuments (bei Bedarf erstellen) zu 'b' .