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

Избягвайте общото ограничение от 16MB

Проблемът е, че родният драйвер се различава от начина, по който работи методът на обвивката по подразбиране, тъй като "shell" всъщност връща обект "курсор", където естественият драйвер се нуждае от тази опция "изрично".

Без "курсор", .aggregate() връща един BSON документ като масив от документи, така че ние го превръщаме в курсор, за да избегнем ограничението:

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

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

След това можете да използвате обикновени методи като .toArray() за да направите резултатите в JavaScript масив, който на „клиента“ не споделя същите ограничения, или други методи за повторение на „курсор“.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Свържете NodeJS към MongoDB Droplet

  2. MongoDB dropIndexes команда

  3. Най-бързият MongoDB на Azure!

  4. Премахване на елемент от вложен масив mongodb

  5. Какъв е правилният начин да стартирате услуга mongod на linux / OS X?