MongoDB组在密钥中检索null

时间:2016-04-23 19:06:39

标签: mongodb mongodb-query aggregation-framework

我用它来获得我想要的结果,基本上我需要每个供应商的总收入

db.lineitems.group(
{
    key : {"$partsupp.supplier.suppkey" : 1}, 
    cond : { "shipdate" : {"$gte":19960101,"$lt":19960401}}, 
    reduce : function (curr, result) {
        result.totalgroup+=curr.extendedprice*1-curr.discount;
    }, 
    initial : {totalgroup : 0}
}
)

结果如下:

[
    {
    "$partsupp.supplier.suppkey" : null,
    "totalgroup" : 208208820.8400005
    }
]

这将返回所有供应商收入的总和。

1 个答案:

答案 0 :(得分:0)

var red2 = function(doc, out) {
out.revenue+=doc.extendedprice*(1-doc.discount);
};

var eachsupp = db.lineitems.group( {
    key : { "partsupp.supplier.suppkey" : true},
    cond : { "shipdate" : {$gte: 19960101, $lt: 19960401}},
    initial: { revenue : 0},
    reduce : red2,
});