我需要用3个以上参数过滤的微小收集,需要帮助。FIRS,我从Server的Mongo Collection中加载了Minimongo,并使用了Publish/subscribe。现在,我想过滤该集合,并让用户仅查看与过滤器相同的收集对象。首先,我有搜索查询过滤器,该过滤器检查输入字符串是否与集合中的一些相同:
Job.find({ $or: [ { Name: regex }, { Description: regex }, ]});
这部分做得很好。现在第二个过滤器:我在对象中的字段是正确的,如果该特定作业是远程友好且错误的,则我想如果用户启用该过滤器,他只会看到远程友好的工作位置,如果他禁用该职位,他可以看到所有可用的工作(当然 搜索查询(:
if (remoteQuery === true ) {
return Job.find({ $or: [ { Name: regex }, { Description: regex }, ] , Remote: true});
}
这是有效的,但这是这样做的不好方法。现在最大的问题带有最后一个过滤器:我还有一个存储" Job"(集合对象(类型的字段。类型可以是1、2、3或4。"仅显示具有"前端"内部(搜索查询(的作业,这些作业是遥远友好的,并且内部有第三个过滤器2和3"
Job.find({ $or: [ { Name: "Front-end"}, { Description: "Front-end"}, ] , Remote: true, positionType: [2,3],});
这样的东西?谢谢!
听起来您正在寻找mongodb查询$in
操作员:
$in
操作员选择字段值等于指定数组中的任何值的文档。
因此,您的第三查询看起来像:
Job.find({
positionType: {
$in: [2, 3] // Matches documents where `positionType` is either 2 or 3
},
// Other conditions…
});