我有一个简单的登录功能,它尝试将电子邮件地址与数据库中的密码进行匹配,并通过表单将其与用户输入的数据进行比较。
function login($email, $password){
$m = new Mongo("localhost");
$m->connect();
$db = $m->users;
$collection = $db->test_collection;
echo "<pre>";
var_dump($collection->findOne(array('name' => 'john'))); //returns correctly
var_dump($collection->find(array('name' => 'john'))); //returns mongo cursor object
echo "</pre>";
}
我不明白为什么find()只返回游标对象。有答案吗?
这是Mongo文档。
array(5) {
["_id"]=>
object(MongoId)#22 (1) {
["$id"]=>"4d7eaa848baf84d32b000000"
}
["activated"]=> (true)
["email"]=> "john@smith.com"
["name"]=> "john"
["password"]=> "334c4a4c42fdb79d7ebc3e73b517e6f8"
}
我应该如何进行“WHERE”查询,以在同一文档中找到电子邮件和密码?很明显,我没有正确设置find()和findOne()查询的参数。在PHP中的正确语法是什么?