sql >> Databasteknik >  >> NoSQL >> MongoDB

Uppdatera fält med ett annat fälts värde i dokumentet

Goda och dåliga nyheter här.

Dåliga nyheter är att AFAIK du inte kan göra det med ett enda update()-anrop - mongo stöder inte hänvisning till aktuellt objekt i uppdatering.

Goda nyheter är att det finns andra sätt att göra det på, t.ex. du kan köra en forEach-loop:

db.item.find(conditions...).snapshot().forEach( function (doc) {
  doc.field1 = doc.field2; 
  db.item.save(doc); 
});

Du kan köra forEach i admin-skalet ('mongo'-kommandot), eller genom några av metoderna för din specifika drivrutin (t.ex. i PHP skulle jag förvänta mig att det skulle fungera med mongodb.execute() som beskrivs här:http:/ /www.php.net/manual/en/mongodb.execute.php)



  1. Programmatisk uppdatering av fält i Mongo och Meteor

  2. Placering av mongodb-databasen på mac

  3. Rails Puma får slut på Redis-anslutningar

  4. Redis:Sortera och hämta n Neighbor Keys