具有嵌套对象键$ sum的MongoDB $组

时间:2014-04-08 19:06:01

标签: mongodb mongodb-php

对象结构如下:

{
    "_id" : ObjectId("53434bfe234416601c8b4567"),
    "package" : {
        "id" : "3",
        "title" : "P3",
        "price" : "8.00",
        "votes" : "8",
        "created_at" : "2014-04-08 00:29:35",
        "updated_at" : "2014-04-08 00:31:39"
    },
    "status" : "success",
    "user_id" : "5341dd9c234416de758b4570",
    "updated_at" : ISODate("2014-04-08T01:08:52.168Z"),
    "created_at" : ISODate("2014-04-08T01:08:14.849Z")
}

我要做的是用这个来收集package.price的总和:

db.transactions.aggregate({
    $group:{
        _id: null,
        'total': {$sum: "$package.price"}
     }
})

total总是int 0,结果如下:

{
    "result" : [ 
        {
            "_id" : null,
            "total" : 0
        }
    ],

    "ok" : 1
}

1 个答案:

答案 0 :(得分:0)

对于那些可能再次陷入困境的人,正如 @Anand 所说,它与字段的类型有关。始终确保它是“可求”类型,如int,double,float等。