我正在使用带有laravel的MongoDb。
以下是我的用户集合示例json数据
{
"_id" : "52dfcd17daf02a2e6cb396c7",
"email" : "nikhil@gmail.com",
"name" : "Nikhil"
}
{
"_id" : "52e0f9a2daf02ac908064f68",
"email" : Michael@gmail.com,
"name" : "Michael"
}
我在集合中为2列创建了索引,这是名称&电子邮件。 (电子邮件可以为空)
db.users.ensureIndex({'email':'text', 'name': 'text'})
当我搜索姓名时,我会获得确切的搜索数据,但是当我搜索确切的电子邮件ID时,它会提供所有记录。
这是我的代码
$users = Users::whereRaw(['$text' => ['$search' => 'Michael@gmail.com']])->paginate(20);
return response()->view('users.view',
[
'users' => $users,
'title' => 'Search results for your query: ' . $query
]);