gpt4 book ai didi

node.js - 如何使用mongoose使用where查询数据库

转载 作者:太空宇宙 更新时间:2023-11-03 22:57:37 25 4
gpt4 key购买 nike

我想为用户创建一个端点来搜索某些内容,因此我使用其中特定行包含用户搜索的文本来查询数据库,但 $where 不断给我一个错误,表明它不是一个函数

我尝试过使用 $where 但无济于事

router.get('/mobile/courses/search/:search_text', async(req, res)=>{
try {
const search = await Course.find()
search.$where(function () {
return req.params.search_text.toLowerCase().includes(this.course_name.toLowerCase())
})
if (!search){
return res.status(404).send({result: 'No Result found'})
}

res.status(200).send({result: search})
}catch (e) {
res.status(500).send({error: 'Unknown Error Occurred Try Again', codeerror: e.toString()})
}
})

我希望能够在数据库中查询用户从特定列 (course_name) 搜索的内容,并返回包含用户搜索文本中至少三个字母的行的响应

最佳答案

首先索引要搜索的字段

Course.index({ course_name: 'text' });

然后使用$regex

CourseModal
.find({
course_name: {
$regex: searchString,
$options: 'i'
}
})

关于node.js - 如何使用mongoose使用where查询数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56356735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com