检查Meteor MongoDb中的错误值

时间:2015-06-01 21:50:26

标签: mongodb meteor

我正在尝试使用meteor进行过滤搜索模块。我希望我的用户通过添加过滤器来确定他们的搜索精确度。

有了这个:

if(!options.natives.length)
        return Meteor.users.find({
            'profile.languages.learning': {$in: options.learning}
    });
    else if(!options.learning.length)
        return Meteor.users.find({
            'profile.languages.native': {$in: options.native}
        });
    else if(!options.learning.length && !options.native.length)
        return null;
    else
        return Meteor.users.find({
            $or: [
                {'profile.languages.native': {$in: options.natives}},
                {'profile.languages.learning': {$in: options.learning}}
            ]
        });
return Meteor.users.find({
      $and: [
        {$or {'profile.languages.native': {$in: options.natives}}, NoMatchingLang},
        {'profile.languages.learning': {$in: options.learning}}
      ]

我的问题是profile.languages.learning是一个数组,我希望其中至少有一行匹配{$in: options.learning}

您认为最好的方法是什么?

谢谢, 大卫

1 个答案:

答案 0 :(得分:1)

实际上已经按Mongo Docs的$ in处理 - 如果字段包含数组,则选择器将匹配两个数组中至少有一个元素匹配的文档。