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

Unikaj łącznego limitu 16 MB

Problem polega na tym, że natywny sterownik różni się od domyślnej metody działania powłoki tym, że „powłoka” w rzeczywistości zwraca obiekt „kursor”, gdzie natywny sterownik „wyraźnie” potrzebuje tej opcji.

Bez „kursora”, .aggregate() zwraca pojedynczy dokument BSON jako tablicę dokumentów, więc zamieniamy go w kursor, aby uniknąć ograniczenia:

let cursor = collection.aggregate(
  [{ "$group": { "_id": "$internalNumber" } }],
  { "cursor": { "batchSize": 500 } }
);

cursor.toArray((err,docs) => {
   // work with resuls
});

Następnie możesz użyć zwykłych metod, takich jak .toArray() zrobić z wyników tablicę JavaScript, która na 'kliencie' nie ma tych samych ograniczeń, lub innych metod iteracji "kursora".



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak przekonwertować zestaw replik MongoDB na samodzielny serwer?

  2. Usuń MongoDBWiele()

  3. Agregacja MongoDB w pętli zwrotnej

  4. Problemy z uruchamianiem przykładów w Meteor

  5. Jak używać mongodb z elektronem?