MongoDB sum with aggregate


MongoDB sum with aggregate

我无法获得ammount列的总和。 它返回null .尝试按日期对其进行分组。

Array
(
[_id] => MongoId Object
    (
        [$id] => 5500a655642c87d663b7acd9
    )
[0] => 1
[id] => 1
[1] => 5
[site_id] => 5
[2] => 7
[ammount] => 7
[3] => 2
[status] => 2
[4] => 2012-07-04
[date] => 2012-07-04
)

我的PHP代码在这里。

  $outt = $db->command (
        array( 
            "aggregate" => "tests",
            "pipeline" => 
                array( 
                    array( '$match' => array('$and' => array(
                                                    array( 'date' => $date ),
                                                    array('$or'=>$sites)))),
                    array( 
                            '$group' => array(
                              '_id' => '$date',
                             'sum' => array('$sum' => '$ammount')
                            )
                        )
                )
        )
    );

如果我$ammount_id它显示ammount而没有sum.

(附言列名$ammount正确)

MongoDB无法返回sum,因为ammount被存储为字符串。我把它转换为双倍,它起作用了。

Mongo 不会为其返回任何错误