sql >> Database >  >> NoSQL >> MongoDB

MongoDB:onvoorwaardelijke updates?

De fout zegt het al:je kunt alleen meerdere documenten wijzigen met de $ modifier-operators. Je had waarschijnlijk zoiets als dit:

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

Die normaal gesproken vervangt het eerste object in de verzameling met { a: 'b' } if multi vals was. U wilt niet alle objecten in uw verzameling door hetzelfde document vervangen!

Gebruik de $set operator in plaats daarvan:

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

Hiermee wordt de a . ingesteld eigenschap van elk document (maak het indien nodig) naar 'b' .




  1. MongoDB $acosh

  2. Mongoose -- Naam verzameling forceren

  3. Mangoest verschil tussen .save() en het gebruik van update()

  4. kunnen meerdere clients tegelijkertijd toegang krijgen tot dezelfde lijst zonder geblokkeerd te worden in Redis?