Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jessenger mongodb不区分大小写的查询搜索_Mongodb_Laravel - Fatal编程技术网

jessenger mongodb不区分大小写的查询搜索

jessenger mongodb不区分大小写的查询搜索,mongodb,laravel,Mongodb,Laravel,我有一个关于mongodb查询搜索精确值的问题。我希望获得不区分大小写的集合。为此,我发现了如下一些查询。工作正常 db.applications.find({"blocks.HOSPITAL_INFO.data.name": new RegExp('^VIKRAM$', 'i')}); 在拉雷维尔,我用的是杰森格斯。上面的查询我可以在laravel中写为原始查询 但我的问题是,当我在:{'a','b'}中使用$In时,我该如何为它编写正则表达式。仅供参考,‘a’、‘b’是动态数组值。那么如

我有一个关于mongodb查询搜索精确值的问题。我希望获得不区分大小写的集合。为此,我发现了如下一些查询。工作正常

db.applications.find({"blocks.HOSPITAL_INFO.data.name": new RegExp('^VIKRAM$', 'i')}); 
在拉雷维尔,我用的是杰森格斯。上面的查询我可以在laravel中写为原始查询


但我的问题是,当我在:{'a','b'}中使用$In时,我该如何为它编写正则表达式。仅供参考,‘a’、‘b’是动态数组值。那么如何为这些数组值编写正则表达式呢?

MongoDB中的查询如下:

db.applications.find({"blocks.HOSPITAL_INFO.data.name":
   {$in:[new RegExp('^a$', 'i'),new RegExp('^b$', 'i')]}}); 
$applications = Application::whereIn('blocks.HOSPITAL_INFO.data.name',
   [new MongoRegex('^a$/i'), new MongoRegex('^b$/i')])->get();
或者,或者:

db.applications.find({"blocks.HOSPITAL_INFO.data.name":
   {$in:[/^a$/i,/^b$/i]}});
…其中a和b是您的动态变量

我对Laravel不太熟悉,但我猜它会是这样的:

db.applications.find({"blocks.HOSPITAL_INFO.data.name":
   {$in:[new RegExp('^a$', 'i'),new RegExp('^b$', 'i')]}}); 
$applications = Application::whereIn('blocks.HOSPITAL_INFO.data.name',
   [new MongoRegex('^a$/i'), new MongoRegex('^b$/i')])->get();