关于何时使用group(),与$ group或mapreduce聚合,我有点困惑.我在http://www.mongodb.org/display/DOCS/Aggregation上阅读了针对group()的文档,http://docs.mongodb.org/manual/reference/aggregation/group/#_S_group for $ group ..分片是否group()不起作用的唯一情况?另外,我觉得$ group比group()更强大,因为它可以与聚合框架中的其他管道运算符一起使用.$ group如何与mapreduce进行比较?我在某处读到它不生成任何临时集合,而mapreduce则生成.是这样吗?
有人可以提供插图或指导我一起解释这三个概念的链接,采用相同的样本数据,以便我可以轻松地比较它们吗?
编辑:
此外,如果您可以在这些命令中指出任何新的东西,那将是很好的,因为新的2.2版本出来了..
我有一个包含以下数据的集合:
{
"_id": "1",
"arrlstdetails": [{
"_id": "1",
"quantity": 35.5,
"units": "m3"
}]
},{
"_id": "2",
"arrlstdetails": [{
"_id": "1",
"quantity": 35.5,
"units": "m3"
},
{
"_id": "2",
"quantity": 12.25,
"units": "m3"
},
{
"_id": "3",
"quantity": 28.20,
"units": "t"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想对按单位(m3 或 t)过滤的数量总和执行 MongoDB 聚合。
这是我想在查询后得到的结果:
例子:1。
{
"Unit":"m3",
"Total quantity sum":"83.25"
}
Run Code Online (Sandbox Code Playgroud)
例子:2。
{
"Unit":"t",
"Total quantity sum":"28.20"
}
Run Code Online (Sandbox Code Playgroud)
如何查询以获取数量总和?