MongoDB一直给我null

时间:2013-05-17 01:49:22

标签: mongodb mongodb-php

让Mongodb聚合工作有些困难。它一直给我null。请帮忙。以下是用php编写的代码。感谢。

我想要做的是总结两个特定日期之间的2个字段,请求和响应的值

    try {
        $mongodb = new MongoClient("mongodb://ad:pass2word1@localhost");

        $database = $mongodb->selectDB('backend');
        $collection = new MongoCollection($database, 'RequestSummary');

        $pipeline = array(
            array(
                '$group' => array(
                    '_id' => array(
                        'request' => array('$sum' => '$Requests'),
                        'response' => array('$sum' => '$Responses')
                    )
                )
            ),
            array(
                '$match' => array(
                    'RequestDate' => array(
                        '$gte' => intval($_SESSION['range_from']),
                        '$lte' => intval($_SESSION['range_to'])
                    )
                )
            )
        );
        $collection->aggregate($pipeline);
        var_dump($g);
    } catch (MongoConnectionException $exc) {
        echo $exc->getTraceAsString();
    }

1 个答案:

答案 0 :(得分:0)

_id的{​​{1}}不能包含$group等聚合运算符。这些总和需要定义为与$sum处于同一级别的字段。如果您不想对特定字段进行分组,可以_id使用NULL,如下所示:

_id