繁体   English   中英

搜索 Mongodb model 的多个部分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM