Bonnes et mauvaises nouvelles ici.
La mauvaise nouvelle est que, autant que je sache, vous ne pouvez pas le faire avec un seul appel update() - mongo ne prend pas en charge la référence à l'objet actuel dans la mise à jour.
La bonne nouvelle est qu'il existe d'autres façons de le faire, par ex. vous pouvez exécuter une boucle forEach :
db.item.find(conditions...).snapshot().forEach( function (doc) {
doc.field1 = doc.field2;
db.item.save(doc);
});
Vous pouvez exécuter forEach dans le shell d'administration (commande 'mongo') ou via certaines des méthodes de votre pilote spécifique (par exemple, en PHP, je m'attendrais à ce qu'il fonctionne avec mongodb.execute() comme décrit ici :http:// /www.php.net/manual/en/mongodb.execute.php)