在php中统计mongodb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在php中统计mongodb相关的知识,希望对你有一定的参考价值。

我有一个收集用户,它有2个参数(用户名,付费),用户名是一个字符串,付费也是一个字符串,我应该计算参数paid =“true”的用户数

这是我的尝试

<?php

$connection = new MongoClient();
$collection = $connection->Ahmed->user;

$cursor = $collection->find();
var_dump($collection->count());
var_dump($collection->count($cursor->paid=>"true")));
?>

如果有一个mongo的专家可以帮助,谢谢:)

答案

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

$collection->count($filter)

在你的情况下:$filter = array('paid' => 'true')

另一答案

首先,你需要告诉mongo你想在find()函数中找到什么。然后它会将光标返回到结果集,您可以在其上调用count()

<?php

$connection = new MongoClient();
$collection = $connection->Ahmed->user;

$cursor = $collection->find(array("paid"=>"true"));
var_dump($cursor->count()); //return the total count of documents with "paid" equal to "true"
另一答案

您可以使用iterator_to_array将响应转换为数组,然后在php中计算数组记录。

<?php

$connection = new MongoClient();
$collection = $connection->Ahmed->user;

$cursor = $collection->find();
var_dump(count(iterator_to_array($cursor)));
?>

以上是关于在php中统计mongodb的主要内容,如果未能解决你的问题,请参考以下文章

学习PHP中统计扩展函数的使用

php中统计中文字符串长度的两种方法

在项目开发中统计代码行数的6种方式

未解决对于使用Windows的IDEA进行编译的文件,但无法在Linux系统中统计代码行数的疑问

CakePHP 3:如何在一次查询中统计和检索不同时期的数据?

JavaScript中统计数组中相同元素的个数-案例