我有四个对象的集合
[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。但我的查询以无效选择器
结束答案 0 :(得分:0)
如果您的旗帜为真或未设置,您只需执行以下操作:
Collection.find({student: true}).fetch()
或
Collection.find({student: {$ne: true}}).fetch() // not true or unitialized