Problemet er, at den oprindelige driver adskiller sig fra hvordan shell-metoden fungerer som standard ved, at "shell" faktisk returnerer et "cursor"-objekt, hvor den oprindelige driver har brug for denne mulighed "eksplicit".
Uden en "cursor", .aggregate()
returnerer et enkelt BSON-dokument som en række dokumenter, så vi gør det til en markør for at undgå begrænsningen:
let cursor = collection.aggregate(
[{ "$group": { "_id": "$internalNumber" } }],
{ "cursor": { "batchSize": 500 } }
);
cursor.toArray((err,docs) => {
// work with resuls
});
Så kan du bruge almindelige metoder som .toArray()
at gøre resultaterne til et JavaScript-array, som på 'klienten' ikke deler de samme begrænsninger, eller andre metoder til iteration af en "markør".