如何在不区分大小写的情况下在MongoDB (使用猫鼬库)中搜索查询?
假设我有一个查询,其中包含Adam的字符串数据。该查询区分大小写,因此在adam中搜索该查询将返回一个null。
我尝试使用regex,并禁用它的区分大小写。它完成了任务,但现在每当我搜索ad时,它都会找到并返回Adam,这是我不想要的。
如何正确地搜索不区分大小写的查询?谢谢!
这里是我的代码,用于查找不区分大小写的查询,但使用正则表达式bug.
server.get('/test/:username', (req, res)=> {
const username = req.params.username
usersDB.findOne({'username': {'$regex': username, $options: '?-i'}}, (err, data)=> {
if(err) {
throw err
}
if(!data) {
console.log('user not found')
res.redirect('/')
} else if(data) {
console.log('user found: ' + data.username)
res.redirect('/')
}
})
})发布于 2021-08-20 15:45:28
应该将$options属性设置为i值,而不是?-i
{'username': {'$regex': `^${username}$`, $options: 'i'}}https://stackoverflow.com/questions/68864425
复制相似问题