問題は、ネイティブドライバがデフォルトで動作する方法とは異なり、「シェル」が実際に「カーソル」オブジェクトを返し、ネイティブドライバがこのオプションを「明示的に」必要とすることです。
「カーソル」がない場合、.aggregate()
単一のBSONドキュメントをドキュメントの配列として返すため、制限を回避するためにカーソルに変換します。
let cursor = collection.aggregate(
[{ "$group": { "_id": "$internalNumber" } }],
{ "cursor": { "batchSize": 500 } }
);
cursor.toArray((err,docs) => {
// work with resuls
});
次に、.toArray()
などの通常のメソッドを使用できます 結果を「クライアント」で同じ制限を共有しないJavaScript配列にするか、「カーソル」を反復する他のメソッドにします。