我的查询是:
Collection::WhereIn('email',$email)->orWhereIn('mobile',$mobile)->get();
正在执行的Mongo查询是:
db.collection.find({"$and":[{"deleted_at":null},{"email":{"$in":["dfsdf@fsd.dfgf","sa$d.c"]}}],"$or":[{"mobile":{"$in":["39834787348","349430984390"]}}]},[])
没有得到正确的结果
实际上,下面的Mongo查询给出了正确的结果,但是如何在Laravel中执行。
db.collection.find({$or:[{"email":{$in:["dfsdf@fsd.dfgf","sa$d.c"]}},{"mobile":{$in:["9892230504"]}}]}).pretty()
我正在使用Laravels jeneggers / mongodb包。
答案 0 :(得分:0)
考虑一下您可以尝试的文档 Advanced Wheres 中的示例:
DB::table('collection')
->whereIn('email', $email)
->orWhere(function($query)
{
$query->whereIn('mobile', $mobile);
})
->get();
上面的查询将生成以下SQL:
select * from collection
where email in ('dfsdf@fsd.dfgf', 'sa$d.c')
or ( mobile in ('39834787348', '349430984390'))