使用php进行mongo count(*)但不发送所有结果数组

时间:2013-04-10 10:44:50

标签: php sql mongodb count

我正在用PHP编写脚本,并尝试转换SQL

SELECT COUNT(*) AS Rank  
FROM user    
WHERE  user.lvl > $user_level

查询Mongo。

我发现只有一个决定:

$nosql = array(
     'lvl' => array('$gt' => $user_level)
);    
$result = $collection->find($nosql);
$length = count(iterator_to_array($result));
  1. 获取满足条件的所有对象
  2. 用PHP计算它们
  3. 可以在不发送所有数组的情况下获取所需对象的数量吗?

2 个答案:

答案 0 :(得分:2)

mongodb可以count这样的结果你不需要使用count(iterator_to_array($result));

$nosql = array(
 'lvl' => array('$gt' => $user_level)
);    
$result = $collection->find($nosql);
$length = $result->count();

答案 1 :(得分:1)

新驱动程序未实现$cursor->count()使用$collection->count()而不是

$collection->count($filter)