MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zaktualizuj pole o wartość innego pola w dokumencie

Tutaj dobre i złe wieści.

Zła wiadomość jest taka, że ​​AFAIK nie możesz tego zrobić jednym wywołaniem update() - mongo nie obsługuje odwoływania się do bieżącego obiektu w aktualizacji.

Dobrą wiadomością jest to, że są na to inne sposoby, m.in. możesz uruchomić pętlę forEach:

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

Możesz uruchomić forEach w powłoce administratora (polecenie "mongo") lub za pomocą niektórych metod twojego konkretnego sterownika (np. w PHP spodziewam się, że będzie działać z mongodb.execute(), jak opisano tutaj:http:/ /www.php.net/manual/en/mongodb.execute.php)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. pymongo.errors.CursorNotFound:identyfikator kursora '...' niepoprawny na serwerze

  2. Jak kontynuować wstawianie po błędzie zduplikowanego klucza za pomocą PyMongo?

  3. Zrozumienie opcji tworzenia kopii zapasowych MongoDB

  4. Wyposażony w szyfrowanie kopii zapasowych dla MySQL, MongoDB i PostgreSQL — ClusterControl 1.5.1

  5. MongoDB:Straszna mapa Zmniejszenie wydajności