他们是否可以使用$ in在mongodb中搜索集合中的列,其中包括用于搜索的元素数组以及列中这些元素的caseInsensitive匹配?
Zau*_*bov 10
您可以将$ elemMatch与正则表达式搜索一起使用,例如,让我们在以下集合中搜索" 蓝色 "颜色:
db.items.save({
name : 'a toy',
colors : ['red', 'BLUE']
})
Run Code Online (Sandbox Code Playgroud)
Roc*_*uza 10
使用$ in且匹配不区分大小写:
数据示例:
{
name : "...Event A",
fieldX : "aAa"
},
{
name : "...Event B",
fieldX : "Bab"
},
{
name : "...Event C",
fieldX : "ccC"
},
{
name : "...Event D",
fieldX : "dDd"
}
Run Code Online (Sandbox Code Playgroud)
我们希望文件"fieldX"包含在数组的任何值(optValues)中:
var optValues = ['aaa', 'bbb', 'ccc', 'ddd'];
var optRegexp = [];
optValues.forEach(function(opt){
optRegexp.push( new RegExp(opt, "i") );
});
db.collection.find( { fieldX: { $in: optRegexp } } );
Run Code Online (Sandbox Code Playgroud)
这适用于所有人.
我希望这有帮助!
ps:这是我在Web应用程序中按标签搜索的解决方案.
| 归档时间: |
|
| 查看次数: |
9410 次 |
| 最近记录: |