如何$匹配MongoDB Mongoose查询的多个值

时间:2018-02-05 19:48:03

标签: node.js mongodb mongoose aggregation-framework

我正在尝试为多个值找到特定字段。例如,我有一个不同国家的数据库,我正在尝试检索他们的名字,年份和名义GDP(由于其他一些重要原因,在结果中重命名为y)。它适用于这个例子,我只从美国检索,但我如何添加像中国这样的其他国家?

Country.aggregate([
  {
    $match: {
      name: "USA"
    }
  },
  {
    $project: {
      _id: 0,
      name: 1,
      year: 1,
      'y' : '$nominalGDP'
    }
  }
], function(err, recs){
  if(err){
    console.log(err);
  } else {
    console.log(recs);
  }
});

这可能很简单但我无法找到方法。

1 个答案:

答案 0 :(得分:1)

使用$in运算符指定多个匹配选项。例如:

{
   $match: {
      name: { $in: [ "USA", "China" ] }
   }
}