Het probleem is dat de native driver verschilt van hoe de shell-methode standaard werkt, omdat de "shell" in feite een "cursor" -object retourneert waar de native driver deze optie "expliciet" nodig heeft.
Zonder een "cursor", .aggregate()
retourneert een enkel BSON-document als een array van documenten, dus we veranderen het in een cursor om de beperking te vermijden:
let cursor = collection.aggregate(
[{ "$group": { "_id": "$internalNumber" } }],
{ "cursor": { "batchSize": 500 } }
);
cursor.toArray((err,docs) => {
// work with resuls
});
Dan kun je reguliere methoden gebruiken zoals .toArray()
om van de resultaten een JavaScript-array te maken die op de 'client' niet dezelfde beperkingen heeft, of andere methoden voor het herhalen van een 'cursor'.