MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :mises à jour inconditionnelles ?

L'erreur dit tout :vous ne pouvez modifier plusieurs documents qu'en utilisant le $ opérateurs modificateurs. Vous aviez probablement quelque chose comme ça :

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

Qui devrait normalement remplacer le premier objet de la collection avec { a: 'b' } si multi était faux. Vous ne voudriez pas remplacer tous les objets de votre collection par le même document !

Utilisez le $set opérateur à la place :

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

Cela définira le a propriété de chaque document (en le créant si nécessaire) à 'b' .