Mongodb $addnewFields在嵌套文档和筛选器中使用mongoose聚合

Mongodb $addnewFields在嵌套文档和筛选器中使用mongoose聚合,mongodb,mongoose,filter,aggregate,Mongodb,Mongoose,Filter,Aggregate,我的数据库中有此文档: visitor = { id: 1, req: { units: [ { id: 1, work: { steps: [ { id: 1, role: 'ACCES', state: { tags: 'TAG1', },

我的数据库中有此文档:

visitor = {
id: 1,
  req: {
    units: [
      {
        id: 1,
        work: {
          steps: [
            {
              id: 1,
              role: 'ACCES',
              state: {
                tags: 'TAG1',
              },
            },
            {
              id: 1,
              role: 'ROLE',
              state: {
                tags: 'TAG2',
              },
            },
          ],
        },
      },
      {
        id: 1,
        work: {
          steps: [
            {
              id: 1,
              role: 'ACCES',
              state: {
                tags: 'TAG3',
              },
            },
            {
              id: 1,
              role: 'ROLE',
              state: {
                tags: 'TAG4',
              },
            },
          ],
        },
      },
    ],
  },
};
我想给他一个聚合,用
TAG1
值添加一个根自定义字段
tag
。我试图用过滤器过滤、投影、添加新字段,但做不到

我必须先过滤
单元
以获得一个具有“ACCES”角色的单元,然后过滤步骤

例外输出示例:

{
   id: 1,
   tag: 'TAG1'
}
是否有人想用一种单一的方式使用
Visitor.aggregate()


谢谢

请添加预期输出