jessenger mongodb不区分大小写的查询搜索
我有一个关于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’是动态数组值。那么如
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();