Meteor Mongo收集多个查询

时间:2015-04-05 22:28:36

标签: mongodb meteor

我想知道这是否可能与Mongo / Meteor有关:

我是一个集合,所有文档都包含createdAt字段和状态字段(true / false boolean)。我想在列表中向用户显示此集合,但仅显示匹配的文档:

if status is false AND if status is true only those before 14 days ago.

我可以在模板助手中按照我想要的方式根据这两个字段过滤列表,但是如何将两个限制一起组合到客户端的一个集合中呢?


更新:所以我认为我正在寻找帕特里克提到的or声明,但它似乎无法发挥作用。

var date = new Date(+new Date - 12096e5);
    return Things.find({$and: [
        { $or : [ { status : false } ] },
        { $or : [ { status : true } , { createdAt: {"$gte": date} } ] }
    ]},
        {sort:{createdAt:-1}});

Doh,我向前andor了!我希望将两者中的任何一个匹配的项目和条件返回,并且下面似乎有效。

var date = new Date(+new Date - 12096e5);
    return Things.find({$or: [
        { $and : [ { status : false } ] },
        { $and : [ { status : true } , { createdAt: {"$gte": date} } ] }
    ]},
        {sort:{createdAt:-1}});

1 个答案:

答案 0 :(得分:2)

正如帕特里克所说,我希望和or语句,and结合两个要求的集合,下面的代码可行。在大卫的帮助下得到改善

var date = new Date(+new Date - 12096e5);
    return Things.find({$or: [
        { status : false },
        { status : true , createdAt: {"$gte": date} }
    ]},
        {sort:{createdAt:-1}});