sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB-uppdatering. Försöker ställa in ett fält från en egenskap hos en annan

Prova följande kod:

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

Du kan använda your_querry Om du bara vill välja en del av originalsamlingen gör du en uppdatering. Om du vill bearbeta en hel samling, använd your_querry = {} .

Om du vill att alla operationer ska vara atomära, använd update istället för save :

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


  1. Mongodb fynds returnerande dokumentbeställning

  2. Hur separerar redis instansen med flera användare som körs på samma server?

  3. Hur frågar man efter dokument i mongodb (pymongo) där alla nyckelord finns i ett fält?

  4. Kör redis i maraton (mesos) under en url