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

MongoDB opdatering. Forsøger at indstille et felt fra en egenskab i en anden

Prøv følgende kode:

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

Du kan bruge your_querry for kun at vælge en del af den originale samling skal du udføre en opdatering. Hvis du vil behandle en hel samling, skal du bruge your_querry = {} .

Hvis du ønsker, at alle operationer skal være atomare, skal du bruge update i stedet for save :

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


  1. hvordan man mongoimporterer data til implementeret meteor-app?

  2. Mongoose.aggregate(pipeline) linker flere samlinger ved hjælp af $unwind, $lookup, $group

  3. mongodump-fejl 'locale::facet::_S_create_c_locale navn ikke gyldigt'

  4. MongoDB - Opdater et dokument