这是我的旧的MySQL查询。
SELECT Count(`status`) as amt, `status`
FROM (`users`)
GROUP BY `status`
这将返回类似以下内容:
+---------+----------+
| amt | status |
+---------+----------+
| 3 | 0 |
| 210 | 1 |
| 330 | 2 |
| 4233 | 3 |
| 540085 | 4 |
+---------+----------+
这似乎是最基本的Mongo查询,但经过多次尝试使用$group
,然后被告知使用$aggregate
,我仍然没有成功。
db.users.aggregate([ {
$group: {
_id: "$status",
amt: { $status: 1 }
}
} ] )
我以为选择状态字段时这样做可以生效,但由于我包括了 $ 符号,它只会通过 `amt: {$status:1}` 统计这些分组查询的数量。
但是我的响应结果仅为:
{ "result" : [ ], "ok" : 1 }
所以它半成功了?但没有返回任何内容。我认为这就是_id
部分的作用。
我在跟随这个示例: http://docs.mongodb.org/manual/reference/aggregation/group/