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

MongoDB-Update. Der Versuch, ein Feld von einer Eigenschaft eines anderen festzulegen

Versuchen Sie den folgenden Code:

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

Sie können your_querry verwenden Um nur einen Teil der ursprünglichen Sammlung auszuwählen, führen Sie eine Aktualisierung durch. Wenn Sie eine ganze Sammlung verarbeiten möchten, verwenden Sie your_querry = {} .

Wenn Sie möchten, dass alle Operationen atomar sind, verwenden Sie update statt save :

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