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

Operacja zbiorczej aktualizacji Mongoose

Możesz to zrobić, ale problem polega na tym, że podczas uzyskiwania dostępu do podstawowego obiektu kolekcji z podstawowego sterownika nie są podejmowane takie same środki ostrożności, jak w przypadku zaimplementowanych metod modelu mangusty.

Wszystkie metody modelu otaczają metody bazowe innymi funkcjami, ale najczęstszą z nich jest upewnienie się, że połączenie z bazą danych jest otwarte przed próbą uzyskania dostępu do metody. Zapewnia to, że Db instancja jest obecna i Collection() obiekt można uzyskać

Po użyciu .collection akcesora na modelu, to wszystko robisz sam:

mongoose.connection.on('open',function(err,conn) {

   // now it's safe to use

   // { .. } Other code
   var bulk = Person.collection.initializeOrderedBulkOp();
   bulk.find(query).update(update);
   bulk.execute(callback)

});

Lub jakaś inna metoda, która zasadniczo zapewnia, że ​​połączenie zostało nawiązane.

Jeśli chodzi o natywne wsparcie w metodach Bulk API bez zagłębiania się w podstawowy poziom sterowników, tak, nad którym trwają prace w chwili obecnej. Ale nadal możesz to zaimplementować samodzielnie i nie złamie to kodu, dopóki łączysz się z instancją serwera MongoDB 2.6 lub nowszą.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak używać typu dziesiętnego w MongoDB

  2. Właściwość obiektu MongoDB $istnieje w zagnieżdżonej tablicy

  3. Minimalne pozwolenie na używanie mongodump (do zrzucenia określonej bazy danych)

  4. Mongoose nie tworzy poddokumentu z tablicy JSON

  5. Mongodb agregacja liczby tablicy/rozmiar zestawu