简体   繁体   English

如何使用 $and 和 $or 条件在 mongoose 中查找查询?

[英]How to find query in mongoose with $and and $or condition?

Script:脚本:

const query = req.body.data;
    if(query!==''){
        await User.find(
            { $or:[
               {username: { "$regex": query, "$options": 'i' }},
                    {name: { "$regex": query, "$options": 'i' }},
             {collegeName: { "$regex": query, "$options": 'i' }},
             {collegeEmail: { "$regex": query, "$options": 'i' }}
            ], active: true}, 
             function(err,docs) { 
                 if(err){
                     console.log(err);
                 }else{
                     res.send(docs);
                 }
             }
         );
    }

I find with " ( ( uername: query || name: query || collegeName: query || collegeEmail: query) && (active: true) ) " this query.我用“ ( ( uername: query || name: query || collegeName: query || collegeEmail: query) && (active: true) )找到了这个查询。 but i write on above code is not working.can anybody help me??但我写上面的代码不起作用。有人可以帮我吗?

I get my Question answer, so easy sorry...我得到了我的问题答案,很容易对不起...

const query = req.body.data;
    if(query!==''){
        await User.find({
            $and:[{active: true},
                { $or:[
                    {username: { "$regex": query, "$options": 'i' }},
                         {name: { "$regex": query, "$options": 'i' }},
                  {collegeName: { "$regex": query, "$options": 'i' }},
                  {collegeEmail: { "$regex": query, "$options": 'i' }}
                 ]}]
        }, 
             function(err,docs) { 
                 if(err){
                     console.log(err);
                 }else{
                     res.send(docs);
                 }
             }
         );
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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