Проблемът е, че родният драйвер се различава от начина, по който работи методът на обвивката по подразбиране, тъй като "shell" всъщност връща обект "курсор", където естественият драйвер се нуждае от тази опция "изрично".
Без "курсор", .aggregate()
връща един BSON документ като масив от документи, така че ние го превръщаме в курсор, за да избегнем ограничението:
let cursor = collection.aggregate(
[{ "$group": { "_id": "$internalNumber" } }],
{ "cursor": { "batchSize": 500 } }
);
cursor.toArray((err,docs) => {
// work with resuls
});
След това можете да използвате обикновени методи като .toArray()
за да направите резултатите в JavaScript масив, който на „клиента“ не споделя същите ограничения, или други методи за повторение на „курсор“.