MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Hindari Batas Agregat 16MB

Masalahnya adalah driver asli berbeda dari cara kerja metode shell secara default karena "shell" sebenarnya mengembalikan objek "kursor" di mana driver asli memerlukan opsi ini "secara eksplisit".

Tanpa "kursor", .aggregate() mengembalikan satu dokumen BSON sebagai larik dokumen, jadi kami mengubahnya menjadi kursor untuk menghindari batasan:

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

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

Kemudian Anda dapat menggunakan metode biasa seperti .toArray() untuk membuat hasil larik JavaScript yang pada 'klien' tidak memiliki batasan yang sama, atau metode lain untuk mengulangi "kursor".



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana Memulai dengan ClusterControl

  2. Objek MongoDB.bsonSize()

  3. Bagaimana cara menangani migrasi skema luwak dengan benar?

  4. MongoDB:hitung jumlah item dalam array

  5. MongoDB $dalam Operator Kueri