在mongoose中执行查询搜索时出现强制转换错误
export const getPostsBySearch = async (req, res) => {
const {searchQuery, tags} = req.query
try {
const title = new RegExp(searchQuery, 'i')
const posts = await PostMessage.find({ $or: [{ title: String(title) }, {tags: {$in: tags.split(',')}}] })
res.json({data: posts})
} catch (error) {
console.log(error)
res.status(404).json({message: error.message})
}
}
调用它
按搜索获取帖子({搜索:“无”,标记:“奇迹”})
我期待一个具有相关筛选器的post数组
3条答案
按热度按时间fiei3ece1#
这可能是您在服务器端代码中如何安排路线的问题。
您可以参考here。
在我的例子中,我只是重新排列路由器
到
希望这能有所帮助!
xxls0lw82#
必须是:
它是一根弦;你不必那么做。
rsl1atfo3#
错误信息:{“消息”:“在模型“PostMessage”的路径“_id”处,为值“search”(类型字符串)强制转换为ObjectId失败}
只需更改并重新安排路由器设置:
之前:
之后:
对我来说,这是工作。重新安排您的路由器设置,并再次检查。