我无法理解MongoDB的聚合框架。基本上我的JSON是这样的:Mongo聚合和n个字段计数
[
{
"id": 1,
"param1": true,
"param2": false,
"param3": false
},
{
"id": 2,
"param1": true,
"param2": false,
"param3": true
},
{
"id": 3,
"param1": false,
"param2": true,
"param3": false
}
]
我想看看有多少文件有,例如,参数1 ==真,参数2 ==真等。 在这种情况下,预期的结果应该是:
count_param1: 2
count_param2: 1
count_param3: 1
这里的窍门是PARAM可以是参数1 .. paramN,所以基本上我要么需要做一个独特的和确切指定哪些字段IM感兴趣的还是可以的我以“参数”开头的所有字段上的“组”。
推荐的方法是什么?
进一步解释:
的SQL相当于是做:
SELECT COUNT(param1) AS param1
FROM [Table]
GROUP BY param1
对于每一列(但在一个查询)。
试过了。一个没有索引的param_count在300000个文档中花费了0.2秒。太慢了。 – Norrin 2014-10-17 18:56:42