按子文档字段匹配正则表达式的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" ]
}
}
}
},
}
}