TLDR;
マングースに相当するのは、最初にネストされたクエリを実行し、その結果を集計に渡すことです。
groups.distinct("p", {"enable": true}).exec().then(matchingGroups => {
return users.aggregate([
{$match: {"id": {$in: ["0", "1", "2"]}, p: {$in: matchingGroups}}},
{$group:{_id:"$v", number:{$sum:1 }}}
]).exec();
}).then(aggregationResult => {
console.log(aggregationResult);
});
説明
次のスクリプトをmongoシェルで実行すると、最初に内部クエリ(distinct)が送信され、次に結果が外部クエリ(aggregation)に渡され、実行のために送信されます。これは、パケットトレースをキャプチャすることで確認できます。添付の画像では、