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

Opdater felt med et andet felts værdi i dokumentet

Gode ​​og dårlige nyheder her.

Dårlige nyheder er, at AFAIK du ikke kan gøre det med et enkelt update()-kald - mongo understøtter ikke henvisning til det aktuelle objekt i opdatering.

Den gode nyhed er, at der er andre måder at gøre det på, f.eks. du kan køre en forEach-løkke:

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

Du kan køre forEach i admin-skallen ('mongo'-kommando), eller gennem nogle af metoderne i din specifikke driver (f.eks. i PHP forventer jeg, at det virker med mongodb.execute() som beskrevet her:http:/ /www.php.net/manual/en/mongodb.execute.php)



  1. Tilslutning af Heroku App til Atlas MongoDB Cloud-tjeneste

  2. Brug jedis hvordan man skriver til en specifik slot/node i redis cluster

  3. Single cache frontend og backend

  4. Hvad er meningen med flere Redis-databaser?