MongoDB总和与聚合

时间:2015-03-14 02:56:47

标签: php mongodb

我无法获得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

(P.S。列名$ammount是正确的)

1 个答案:

答案 0 :(得分:0)

MongoDB无法返回sum因为ammount存储为字符串。 我将它转换为双倍并且有效。

Mongo没有为它返回任何错误