以下は、アプリケーションごとのuniqueUsersの数を返します。これにより、mongodbのパイプライン機能を使用して、グループ操作の結果にグループ操作が適用されます。
{ $match: { application: "abc" } },
{ $unwind: "$users" },
{ $group: { _id: "$status", users: { $addToSet: "$users" } } },
{ $unwind:"$users" },
{ $group : {_id : "$_id", count : {$sum : 1} } }
うまくいけば、これは、投影の下の配列のサイズを与えるコマンドによって、mongoの次のリリースでより簡単な方法で行われるでしょう。 {$project: {id: "$_id", count: {$size: "$uniqueUsers"}}}
https://jira.mongodb.org/browse/SERVER-4899
乾杯