在mongodb聚合查询中,如何检查字段的值是否与给定数组中的值匹配?

时间:2018-02-06 16:20:27

标签: mongodb mongodb-query

我正在使用aggregate编写MongoDB查询。

我想根据给定的音乐偏好找到所有匹配的结果。

例如,这是我的代码示例

matchingGenres = ["CLASSIC_ROCK", "HEAVY_METAL", "POP"];
dbquery = [
        {
            $project:{
             ....
            }
        },
        {
            $match: { 
                $and: [
                    {genre: ?????}, // match if genre is in the array matchingGenres
                ...
                ]
         }
]

如果genre字段的文档值位于数组matchingGenres中,我该如何匹配?

1 个答案:

答案 0 :(得分:1)

您可以使用$in运算符来匹配多个值。例如:

{
   $match: {
      genre: { $in: ["CLASSIC_ROCK", "HEAVY_METAL", "POP"] }
   }
}