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".