Php Mongodb中的SUM()?查询有问题吗?
我试图从SQL编写一个PHP(Mongo)查询,其中包含SUM(),但我不确定我的语法是否正确。有人能启发我吗 SQL:Php Mongodb中的SUM()?查询有问题吗?,php,sql,mongodb,Php,Sql,Mongodb,我试图从SQL编写一个PHP(Mongo)查询,其中包含SUM(),但我不确定我的语法是否正确。有人能启发我吗 SQL: $cmd = "SELECT SUM(m_length) FROM pkt_tbl WHERE m_time>=" . $time. " AND m_buffer_latency<=" . $time; $find_projection= aggregate(array('$group'=>array('$sum'=>'$m_length')
$cmd = "SELECT SUM(m_length) FROM pkt_tbl WHERE m_time>=" . $time. " AND m_buffer_latency<=" . $time;
$find_projection= aggregate(array('$group'=>array('$sum'=>'$m_length')));
$result = $table -> command($find_projection);
我可以使用数组吗?sum是$result,还是无论如何我都可以使用$sum(Aggregate)。任何帮助都将不胜感激
谢谢你应该试试
在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);
?>
你应该试试
在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);
?>
这就是答案
这就回答了所有问题感谢您的投入。如果您对我的问题有任何建议,我们将不胜感激。你能查一下我的问题吗?我在$result中使用了array_sum,我可以这样实现吗?
array_sum
获取一个数组作为参数来计算和
like数组_sum(数组(2,4,8,6))代码>但是检查你在传递什么?将array('m_length'=>1)
传递到array_sum
是否有意义?读了这个hmm,我认为传递$find_projection
即array('m_length'=>1
将被视为一个数组(因为它是array())。你能告诉我如何更改我的查询吗?读一下这篇文章,它可能会对你有所帮助。好的。我已经尝试过使用聚合,但仍然没有解决问题。有人能检查我的语法吗?$find\u projection=aggregate(数组('$group'=>array('$sum'=>“$m\u length'));
$result=$table->command($find\u projection)
感谢您的输入。如果您对我的查询有任何建议,我们将不胜感激。您能检查我的查询吗?我在$result中使用了array\u sum,我可以这样实现吗?array\u sum
获取一个数组作为参数来计算和像array\u sum(array(2,4,8,6))
但是检查你在传递什么?传递数组('m_length'=>1)
到array\u sum
有意义吗?读这个hmm我认为传递$find\u projection
就是数组('m_length'=>1
会被认为是数组(因为它是数组())。你能告诉我如何更改我的查询吗?读这篇文章,它可能会对你有所帮助。好的。我尝试过使用聚合,但仍然没有解决问题。有人能检查我的语法吗?$find\u projection=aggregate(数组('$group'=>array('$sum'=>'$m\u length'));
$result=$table->command($find\u projection)