让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();
}
答案 0 :(得分:0)
_id
的{{1}}不能包含$group
等聚合运算符。这些总和需要定义为与$sum
处于同一级别的字段。如果您不想对特定字段进行分组,可以_id
使用NULL
,如下所示:
_id