我想知道这是否可能与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,我向前and
和or
了!我希望将两者中的任何一个匹配的项目和条件返回,并且下面似乎有效。
var date = new Date(+new Date - 12096e5);
return Things.find({$or: [
{ $and : [ { status : false } ] },
{ $and : [ { status : true } , { createdAt: {"$gte": date} } ] }
]},
{sort:{createdAt:-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}});