2016-04-19 40 views
0

mongo PHP拡張機能は、mongodb拡張のために推奨されていません。この拡張は、mongo-php-libraryと一緒に使用されます。MongoDB PHP拡張機能を使用してカーソル結果を取得する方法

古い拡張では、MongoCursor::count()を使用してカーソルから結果カウントを取得できます。ただし、新しいカーソルMongoDB\Driver\Cursorにはそのようなメソッドがありません。 MongoDBに対してクエリを実行した後の結果の数を取得する新しい方法は何ですか?

答えて

1

は、基本的には、検索条件になります。この

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

$whereClauseのようにそれを行うことができます。あなたのクエリが配列を返す場合

そうでない場合、私はこのコードを使用

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

しかし、実際の結果も取得したい場合、2つのクエリを実行する必要があります。 – Xatoo

+0

私は答えを更新しました:) –

+0

@ChinLeung "Model ::"は何ですか? – Drumnbass

3

を行うことができます。

$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"; 
} 
関連する問題