有没有办法进行流星查找(是的,它稍后将成为发布功能的一部分,我只是试图测试这个) 一次被多个字段过滤? 例如,让我们说我只想归还那些在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,并将其添加到迪士尼结果中。我想减少每个添加字段的结果。只找到匹配多个字段的数据。
我是完全愚蠢的吗?什么是处理多个条件发现的常用流星方式?答案 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},
});