这是我的旧MySQL查询.
SELECT Count(`status`) as amt, `status`
FROM (`users`)
GROUP BY `status`
Run Code Online (Sandbox Code Playgroud)
这将返回类似的东西
+---------+----------+
| amt | status |
+---------+----------+
| 3 | 0 |
| 210 | 1 |
| 330 | 2 |
| 4233 | 3 |
| 540085 | 4 |
+---------+----------+
Run Code Online (Sandbox Code Playgroud)
这似乎是有史以来最基本的Mongo查询,但经过多次尝试使用$group然后告诉使用$aggregate我仍然没有运气.
db.users.aggregate([ {
$group: {
_id: "$status",
amt: { $status: 1 }
}
} ] )
Run Code Online (Sandbox Code Playgroud)
我认为这可以用作选择状态字段,但由于我包含了$,它将通过`amt:{$ status:1}计算这些分组查询的数量.
但我的回答只是
{ "result" : [ ], "ok" : 1 }
Run Code Online (Sandbox Code Playgroud)
所以半工作?但没有返回任何东西.我认为这就是这个_id部分的用途.
我跟随这个例子:http://docs.mongodb.org/manual/reference/aggregation/group/
Joh*_*yHK 10
你很接近,但你需要使用$sum运算符来计算分组数:
db.users.aggregate([ {
$group: {
_id: "$status",
amt: { $sum: 1 }
}
} ] )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12107 次 |
| 最近记录: |