如何在流星中使用更多参数过滤最小值收集



我需要用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…
});

最新更新