繁体   English   中英

如何构造我的猫鼬查询,以便始终考虑两个语句中的至少一个?

[英]how can I construct my mongoose query so that at least one of two statements is always taken under consideration?

在我的应用程序中,用户可以添加可见的条目

这是我的猫鼬查询:

猫鼬:test.find({updated_at:{'$ gte':new Date(“ Fri,14 Oct 2011 00:00:00 GMT”),'$ lte':new Date(“ Fri,14 October 2016 20:12 :14 GMT“)},用户名:{'$ in':['XXXXXXXXX','YYYYYYYYYYYYYYYY']},'$ or':[{myFlag:false}]}){字段:undefined}

这就是我构造它的方式:

    if (friends != undefined) {
            var friendsSplitted = friends.split(",");
            query = query.where("username").in(friendsSplitted);
       }


    if (publicEntries != undefined && publicEntries === "true") {
        query = query.or({myFlag: false});
    }

该查询基本上说:

查找属于您朋友的所有内容,或者查找myFlag设置为false的任何内容。

我要更改它,这样说:

查找属于您朋友的所有内容,还查找myFlag设置为false的任何内容(但不一定属于您的朋友)。

你能帮我吗?

您应该在$ or内尝试两个查询,如下所示:

test.find({'$or': [ { myFlag: false },
 {updated_at: { '$gte': new Date("Fri, 14 Oct 2011 00:00:00 GMT"), 
'$lte': new Date("Fri, 14 Oct 2016 20:12:14 GMT") }, 
username: { '$in': [ 'XXXXXXXXX', 'YYYYYYYYYYYYYY' ] } ] })

希望这可以帮助!

如果我错过了什么,请评论我。

暂无
暂无

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

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