3

mongoPHP 扩展已弃用,取而代之的是该扩展mongodb。此扩展名与mongo-php-library.

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

4

2 回答 2

8

我使用此代码。

$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";
}
于 2017-01-29T11:24:12.940 回答
1

你可以这样做

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

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

否则,如果您的查询返回一个数组,您可以这样做

$data = Model::find(array($whereClause));
$total = count($data);
于 2016-04-19T18:09:14.577 回答