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

Jak mogę zaktualizować wiele dokumentów w manguście?

Obecnie uważam, że update() w Mongoose ma pewne problemy, patrz:https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Ergand https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion .

Jednak sprawdź dokumentację pod kątem aktualizacji:http://mongoosejs.com/docs/api.html (jest pod Model). Definicja to:

Wcześniejsze rozwiązanie (wycofane po wersji mangusta 5+)

Model.update = function (query, doc, options, callback) { ... }

Musisz przekazać opcje wewnątrz obiektu, więc Twój kod będzie wyglądał następująco:

Model.update = function ({}, {cid: ''}, {multi: true}, function(err) { ... });

Nowe rozwiązanie

Model.updateMany = function (query, doc, callback) { ... }

Model.updateMany = function ({}, {cid: ''}, function(err) { ... });

Uważam, że Mongoose pakuje twój cid w $set, więc nie jest to to samo, co uruchamianie tej samej aktualizacji w powłoce mongo. Jeśli uruchomisz to w powłoce, wszystkie dokumenty zostaną zastąpione jednym z jednym cid: '' .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bitwa o bazy danych NoSQL — porównanie MongoDB i Cassandra

  2. MongoDB $przykład

  3. Śledzić wydajność MongoDB?

  4. jak wywołać operację liczenia po znalezieniu za pomocą sterownika java mongodb

  5. Powody za i przeciw przejściu z serwera SQL do MongoDB