按子文档字段匹配正则表达式的MongoDB聚合筛选器

按子文档字段匹配正则表达式的MongoDB聚合筛选器,mongodb,Mongodb,我有一个类似这样的收藏: { process: { steps: [{ stepType: '<one of `basic`,`input` or `i(***key***)`' }] } } 对于集成步骤,我需要使用正则表达式进行匹配。。我曾尝试使用$regexMatch或$match,其中包含正则表达式,但执行此操作时会得到无法识别的表达式“$regexMatch”。我这样做错了吗?我想查询以按步骤类型的步骤计数结束。注意:您可以使用$unwind

我有一个类似这样的收藏:

{
  process: {
    steps: [{
      stepType: '<one of `basic`,`input` or `i(***key***)`'
    }]
  }
}

对于集成步骤,我需要使用正则表达式进行匹配。。我曾尝试使用$regexMatch或$match,其中包含正则表达式,但执行此操作时会得到
无法识别的表达式“$regexMatch”
。我这样做错了吗?

我想查询以按步骤类型的步骤计数结束。注意:您可以使用
$unwind
,然后使用
$group
(这要简单得多)。但是,这是什么:对于集成步骤,我需要使用正则表达式进行匹配。。。(不清楚,可能是您尝试过的代码。)@prasad_uu由于
步骤类型类似于
i(示例1)
i(示例2)
我不能只做普通的$eq,我需要基于regex进行匹配
{
  "$project": {
    "process.name": 1,
    "basicSteps": {
      "$size": {
        "$filter": {
          "input": "$process.steps",
          "as": "items",
          "cond": { 
            "$eq": [ "$$items.stepType", "basic" ]
          }
        }
      }
    },
    "inputSteps": {
      "$size": {
        "$filter": {
          "input": "$process.steps",
          "as": "items",
          "cond": { 
            "$eq": [ "$$items.stepType", "input" ] 
          }
        }
      }
    },
  }
}