MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Актуализиране на полето със стойност на друго поле в документа

Добри и лоши новини тук.

Лошата новина е, че AFAIK не можете да го направите с едно извикване update() - mongo не поддържа препращане към текущ обект в актуализация.

Добрата новина е, че има и други начини да го направите, напр. можете да стартирате цикъл forEach:

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

Можете да стартирате forEach в администраторската обвивка (команда 'mongo') или чрез някои от методите на вашия конкретен драйвер (например в PHP, очаквам да работи с mongodb.execute(), както е описано тук:http:/ /www.php.net/manual/en/mongodb.execute.php)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Визуализация на вашата клъстерна топология в ClusterControl

  2. MongoDB Покажи текущия потребител

  3. MongoDB Актуализация Deep Array

  4. Mongoose:findOneAndUpdate не връща актуализиран документ

  5. (MongoDB Java) $push в масив