MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Atualização do MongoDB. Tentando definir um campo de uma propriedade de outro


Tente o seguinte código:
db.collection.find(your_querry).forEach(function(doc) {
  doc.field1 = doc.field2.length;
  db.collection.save(doc);
});

Você pode usar your_querry para selecionar apenas parte da coleção original, execute uma atualização. Se você quiser processar uma coleção inteira, use your_querry = {} .

Se você quiser que todas as operações sejam atômicas, use update em vez de save :
db.collection.find( your_querry, { field2: 1 } ).forEach(function(doc) {
  db.collection.update({ _id: doc._id },{ $set: { field1: doc.field2.length } } );
});