首页 > 解决方案 > 我可以在 ReactiveMongo 聚合框架中使用 $map 聚合框架运算符吗?

问题描述

我想使用 Scala Reactive Mongo 实现以下聚合管道:

aggregate([
  { "$match": {"_id": ObjectId("5f22aca9b99533f2092b590c")}},
  {
    "$addFields": {
      "teams": {
        "$filter": {
          "input": "$teams",
          "as": "team",
          "cond": {
            "$anyElementTrue": {
              "$map": {
                "input": "$$team.metadata",
                "in": { 
                  "$or": [
                    {"$eq": ["$$this.status.active", true]},
                    {"$eq": ["$$this.scores.active", true]}
                  ]
                }
              }
            }
          }               
        }                 
      }
    }
  }

])

$map但我似乎在 Reactive mongo中找不到任何有关操作的文档。我的问题是:

  1. 是否可以在 Reactive Mongo 中执行此操作?
  2. 是否有另一种方法可以使用 Reactive Mongo 支持的其他阶段来实现相同的管道?

标签: mongodbscalaaggregation-frameworkreactivemongo

解决方案


推荐阅读