如何查询嵌入式数组的相同元素

时间:2019-07-12 09:34:43

标签: mongodb mongodb-query

我有一个数据库,其中包含诸如one之类的文档。我想创建一个聚合,仅返回participants.stats.win = true and participants.championId = 57处的文档。对于同一个参与者,我需要两个条件都成立。

[{$match: {
  $and: [ { "participants.stats.win": {$eq: true} },
        { "participants.championId": { $eq: 57 } },
         { gameMode: {$eq: "CLASSIC"}}
       ]  
}}, {$project: {
  participants: {
            $filter: {
               input: "$participants",
               as: "participant",
               cond: {
                 $eq: ["$$participant.championId", 57 ]
               }
            }
         }
}}, {$group: {
  _id: null,
  count: {
    $sum: 1
  }
}}]

这将返回给我一个文档,其中有partner.championId = 57,无论该参与者赢了还是输了游戏。

0 个答案:

没有答案