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

Aggiornamento MongoDB. Cercando di impostare un campo da una proprietà di un altro

Prova il seguente codice:

db.collection.find(your_querry).forEach(function(doc) {
  doc.field1 = doc.field2.length;
  db.collection.save(doc);
});

Puoi usare your_querry per selezionare solo una parte della raccolta originale eseguire un aggiornamento. Se desideri elaborare un'intera raccolta, utilizza your_querry = {} .

Se vuoi che tutte le operazioni siano atomiche, usa update invece di save :

db.collection.find( your_querry, { field2: 1 } ).forEach(function(doc) {
  db.collection.update({ _id: doc._id },{ $set: { field1: doc.field2.length } } );
});