だから私は、電子メールアドレスをデータベース内のパスワードと照合し、フォームを介してユーザーが入力したデータと比較しようとするこの単純なログイン機能を持っています。
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() がカーソルオブジェクトのみを返す理由がわかりません。答えは?
これはモンゴのドキュメントです
array(5) {
["_id"]=>
object(MongoId)#22 (1) {
["$id"]=>"4d7eaa848baf84d32b000000"
}
["activated"]=> (true)
["email"]=> "john@smith.com"
["name"]=> "john"
["password"]=> "334c4a4c42fdb79d7ebc3e73b517e6f8"
}
同じドキュメント内で電子メールとパスワードの両方を検索する "WHERE" クエリを実行するにはどうすればよいですか? 私は明らかに、find() および findOne() クエリに対して正しいパラメーターを取得していません。PHPの正しい構文は何ですか?