有没有办法根据多个字段做一个流星find()?

时间:2014-03-19 12:21:44

标签: meteor find

有没有办法进行流星查找(是的,它稍后将成为发布功能的一部分,我只是试图测试这个) 一次被多个字段过滤? 例如,让我们说我只想归还那些在IT部门工作的迪士尼用户。

到目前为止我已经

Template.managerReports.disney = function () {  
return employees.find({'company':"disney"});         
};

//for template helper binding to
<template name="managerReports">
{{#each disney}}
 <p>{{name}}</p>
{{/each}}
</template>

尝试添加多个以逗号分隔的{field:value}对可以很好地找到这些ALSO,并将其添加到迪士尼结果中。我想减少每个添加字段的结果。只找到匹配多个字段的数据。

我是完全愚蠢的吗?什么是处理多个条件发现的常用流星方式?

2 个答案:

答案 0 :(得分:1)

如果您想在IT部门找到为迪士尼 AND 工作的用户:

employees.find($and: [{company: 'disney'}, {department: 'it'}]);

但是,在指定逗号分隔的表达式列表时,mongodb会提供隐式 AND 操作。所以这通常写成:

employees.find({company: 'disney', department: 'it'});

如果您想在IT部门找到为迪士尼工作的用户:

employees.find($or: [{company: 'disney'}, {department: 'it'}]);

答案 1 :(得分:0)

您需要传递javascript对象,而不是以逗号分隔的值:

Employees.find({
  company: 'disney',
  department: 'marketing',
  salary: {$gt: 100000},
});