Evg*_*eev 1 javascript mongoose mongodb express
在我的数据库集合中,我有两个对象。
[
{"_id" : 1, name: "notLowercased"},
{"_id" : 2, name: "lowercased"},
]
Run Code Online (Sandbox Code Playgroud)
我正在使用 find 和 $regex 来查找包含某些字符串的名称。
data = await CatalogModel.find({name: {$regex : searcher.toString().toLowerCase()}})
Run Code Online (Sandbox Code Playgroud)
例如我的输入字符串是“小写”。
结果我得到了一个数组
[
{"_id" : 2, name: "lowercased"},
]
Run Code Online (Sandbox Code Playgroud)
但我想得到这样的结果:
[
{"_id" : 1, name: "notLowercased"},
{"_id" : 2, name: "lowercased"},
]
Run Code Online (Sandbox Code Playgroud)
我知道这是因为名称“notLowercased”不是小写而发生的。
如何在此请求中小写名称字段?
您可以$options像这样添加参数:$options: "i"。
正如文档中所解释的:
i:不区分大小写以匹配大小写。有关示例,请参阅执行不区分大小写的正则表达式匹配。
即使你可以避免toLowerCase()
data = await CatalogModel.find({name: {$regex : searcher.toString(), "$options": "i" }})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2533 次 |
| 最近记录: |