[英]In MongoDB when searching with multiple parameters how to know which parameter matched
[英]Searching Multiple parts of a Mongodb model
这是我的搜索路线:
router.get("/search", async (req, res)=>{
let search = {}
if(req.query.q !=null && req.query.q!==""){
search.title = new RegExp(req.query.q, "i")
search.description = new RegExp(req.query.q, "i")
}
try{
console.log(search)
const posts = await Post.find(search)
res.render("posts/search", {posts: posts, search: req.query})
}catch(err){
console.log(err)
}
})
当我像这样发送查询时,我的控制台会返回这个值:
{ description: /whateverIamsearchingfor/i, tags: /whateverIamsearchingfor/i }
当我只搜索其中一个并注释掉另一行时,我得到了这个:(不足为奇)
{ description: /whateverIamsearchingfor/i}
自然,它仅在我搜索标题或描述时才有效。 我该如何解决? 我希望能够同时搜索这个 model 的这两个部分。 (或者甚至可能搜索其他部分)
耶。 我做到了。 如果有人仍然想知道如何,我会在这里发布:
const posts = await Post.find({ "$or": [
{ title: search.title },
{ description: search.description }
] });
现在就像一个魅力。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.