如何使用MongoDB PHP扩展获取游标结果计数

时间:2016-04-19 17:59:47

标签: php mongodb php-mongodb

不推荐使用mongo PHP扩展程序,而是使用mongodb扩展名。此扩展程序与mongo-php-library一起使用。

在旧扩展中,可以使用MongoCursor::count()从游标获取结果计数。但是,新游标MongoDB\Driver\Cursor没有这样的方法。在对MongoDB执行查询后获取结果数的新方法是什么?

2 个答案:

答案 0 :(得分:5)

我使用此代码。

$query = ["hello" => "world"];
$command = new MongoDB\Driver\Command(["count" => "collection", "query" => $query]);
try {
    $result = $mongo->executeCommand("mydb", $command);
    $res = current($result->toArray());
    $count = $res->n;
    echo $count;
} catch (MongoDB\Driver\Exception\Exception $e) {
    echo $e->getMessage(), "\n";
}

答案 1 :(得分:1)

你可以这样做

Model::count(array($whereClause));

$whereClause基本上是您的搜索条件。

否则,如果您的查询返回一个数组,则可以执行

$data = Model::find(array($whereClause));
$total = count($data);