0

我正在尝试从 SQL 编写一个 PHP (Mongo) 查询,其中我有 SUM() 但我不确定我的语法是否正确。有人可以启发我吗?

SQL:

$cmd = "SELECT SUM(m_length) FROM pkt_tbl WHERE m_time>=" . $time. " AND m_buffer_latency<=" . $time;

MongoDB查询:

    $find_projection= aggregate(array('$group'=>array('$sum'=>'$m_length')));
    $result = $table -> command($find_projection);

我可以使用 array_sum 是 $result 还是在这种情况下我可以使用 $SUM (Aggregate)。任何帮助,将不胜感激。

谢谢

4

2 回答 2

3

你应该尝试聚合

php此代码中可能会对您有所帮助,

<?php
    $m = new Mongo;
    $c = $m->selectDB("test")->selectCollection("zips");

    $out = $c->aggregate(array(
            '$group' => array(
                '_id' => '$state',
               'totalPop' => array('$sum' => '$pop')
            )
        ),
        array(
            '$match' => array('totalPop' => array('$gte' => 10*1000*1000))
        )
    );

    var_dump($out);
?>

Mongocollection 聚合

于 2013-07-19T04:33:11.943 回答
0
$result = $table->aggregate(
array('$match' => array(
'm_time' => array('$gte' => $max),
'm_buffer_latency' => array('$lte' => $max),
)),
array('$group' => array(
'_id' => true,
'sum_length' => array('$sum' => '$m_length')
))
); 

这回答了一切

于 2013-07-20T00:58:26.697 回答