相关疑难解决方法(0)

MongoDB聚合比较:group(),$ group和MapReduce

关于何时使用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版本出来了..

mapreduce mongodb mongodb-query aggregation-framework

39
推荐指数
1
解决办法
1万
查看次数

MongoDB聚合与来自多个文档的数组对象值的总和

我有一个包含以下数据的集合:

{
    "_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)

如何查询以获取数量总和?

mongodb mongodb-query aggregation-framework

2
推荐指数
1
解决办法
1625
查看次数