3

num_rowsの(mysqli)に相当する結果の数を取得するにはどうすればよいmongodbですか?

私が持っている場合

$db->$dbName->find(array("email" => $newemail, "password" => $newpass));

この基準に一致する結果の数を確認するための最良の方法は何ですか?

mysqliでは私は次のようなことをします

$sql = "SELECT id FROM table WHERE email='%s' AND password='%s'";
$query = sprintf($sql, $newemail, $newpass);
$result = $conn->query($query);
$rows = $result->num_rows;
4

3 に答える 3

5

このように、私は次のように考えています。

$collection = $connection->myDB->myCollection;
$cursor = $collection->find(array("email" => $newemail, "password" => $newpass));
$nResults = $cursor->count();
于 2012-08-23T19:34:46.933 に答える
1

は、およびcount()ではなく、基準の基準であることに注意してください。これは、PHPのMySQLiドライバーとは少し異なります。これは、それが考慮されているためです。skiplimitLIMIT

スキップと制限を使用している場合に実際のカウントを理解するには、カーソルを実際に配列に変換するか、count()関数を再度使用して、署名内にパラメーターを指定する必要があります:http ://www.php.net /manual/en/mongocursor.count.phpをtrueに設定すると、sipとlimitを考慮して実際に検出された結果のみが取得されます。

そうでなければ、他の人が言うように、そこでのあなたの例では、count通常通りに使用することができます。あなたが提供した例では、おそらく実際にを使用しますfindOne

于 2012-08-23T21:08:24.720 に答える
1

あなたが使用しているものは MongoCursor を返すので、そのメソッドcountを使用して行数を取得できると思います。

于 2012-08-23T19:35:44.810 に答える