mongodb num_rows等效的php

时间:2012-08-23 19:24:38

标签: php mongodb

如何在num_rows中获得相当于mongodb(mysqli)的结果数量?

如果我有

$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;

3 个答案:

答案 0 :(得分:5)

像这样,我想:

$collection = $connection->myDB->myCollection;
$cursor = $collection->find(array("email" => $newemail, "password" => $newpass));
$nResults = $cursor->count();

答案 1 :(得分:1)

我相信您使用的是返回MongoCursor,因此您可以使用其方法count来获取行数。

答案 2 :(得分:1)

请注意,count()不是skiplimit的标准。这与PHP中的MySQLi驱动程序略有不同,因为它考虑了LIMIT

如果您使用跳过和限制,为了理解真实计数,您将需要实际将光标转换为数组或再次使用count()函数在其签名中提供一个参数:http://www.php.net/manual/en/mongocursor.count.php设置它真实应该只获得实际发现的结果,并考虑到sip和限制。

否则,就像其他人所说的那样,您可以正常使用count。对于您提供的示例,我可能实际使用findOne