Javascript 复杂的Mongo查询,同时检查多个属性

Javascript 复杂的Mongo查询,同时检查多个属性,javascript,mongodb,meteor,mongodb-query,Javascript,Mongodb,Meteor,Mongodb Query,以下是我的数据库的外观: [ { _id : xxx, languages : [ { lang: "French", level: 1 }, { lang: "English", level: 3 }, { lang: "Spanish", level: 4 } ] }, { _id : yyy,

以下是我的数据库的外观:

[
    {
        _id       : xxx,
        languages : [
            { lang: "French",  level: 1 },
            { lang: "English", level: 3 },
            { lang: "Spanish", level: 4 }
        ]
    },
    {
        _id       : yyy,
        languages : [
            { lang: "French",  level: 5 },
            { lang: "English", level: 2 }
       ]
    }
]
我有这样的清单:

[
    {
        lang  : "French",
        cmp   : "at least",
        level : 3
    },
    {
        lang  : "English",
        cmp   : "at most",
        level : 2
    }
]
我的目标是构建一个查询,在本例中:

  • 选择所有讲法语且级别>=


  • 谁能说一口流利的英语谢谢你,这比我想象的要简单!我将在下一个版本中节省大量时间:)谢谢你,这比我想象的要简单得多!我将在下一个版本中节省大量时间:)
    Users.find({
      $or: [
        {
          languages: {
            $elemMatch: {
              lang: 'French',
              level: { $gte: 2 }
            },
          }
        },
        {
          languages: {
            $elemMatch: {
              lang: 'English',
              level: { $lte: 2 }
            }
          }
        }
      ]
    }).fetch();