sql >> Database >  >> NoSQL >> MongoDB

Veld bijwerken met de waarde van een ander veld in het document

Goed en slecht nieuws hier.

Slecht nieuws is dat je AFAIK niet kunt doen met een enkele update()-aanroep - mongo ondersteunt het verwijzen naar het huidige object in de update niet.

Goed nieuws is dat er andere manieren zijn om het te doen, b.v. u kunt een forEach-lus uitvoeren:

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

Je kunt forEach uitvoeren in de admin-shell (opdracht 'mongo'), of via enkele van de methoden van je specifieke stuurprogramma (bijvoorbeeld in PHP zou ik verwachten dat het werkt met mongodb.execute() zoals hier beschreven:http:// /www.php.net/manual/en/mongodb.execute.php)



  1. Een schaalbaar proces bouwen met NiFi, Kafka en HBase op CDP

  2. MongoDB $strLenBytes

  3. Operationele factoren om te overwegen tijdens MongoDB-gegevensmodellering

  4. Krijg alle sleutels in de Redis-database met python