流星集合过滤集合

时间:2015-05-11 21:44:08

标签: javascript mongodb meteor

我有四个对象的集合

[obj1, obj2, obj3, obj4]

通过单个标志实现过滤器逻辑的好方法是什么?当它是真的时,我得到

[obj1, obj2 obj3]

如果它是假的,我会

[obj1, obj2, obj4]

我已经考虑了很长一段时间了,而且我无法想出一个只有一面旗帜的好解决方案。

我的公寓是学生=真/假

这是我尝试过的事情

obj1 = {};
obj2 = {};
obj3 = {student: true};
obj4 = {student: false};

var studentFlag; // Set this flag

Collection.find({$or: [{student: {$exists: false}}, {student: studentFlag}]}).fetch();

我期待当studentFlag为真时,我的查询给了我obj1,obj2,obj3,当它为假时,我得到obj1,obj2,obj4。但我的查询以无效选择器

结束

1 个答案:

答案 0 :(得分:0)

如果您的旗帜为真或未设置,您只需执行以下操作:

Collection.find({student: true}).fetch()

Collection.find({student: {$ne: true}}).fetch() // not true or unitialized