在聚合项目中使用 $eq Spring 等效数据

Using $eq in aggregate project Spring Data equivalent

以下是我的 MongoDB 查询,即

{$project:{
       firstName: "$firstName",
       lastName:"$lastName",
       email:"$email",
       company :"$organization.name",
       RoleName :"$organization.roles.roleName",
       matchingRole: { $eq: [ "$organization.roles.orgRoleId","$userOrgMap.roleId" ] }
      }
    },
    { $match: {matchingRole:true},{ $sort : { firstName : 1} }])

以下是我的Spring数据mongoAPI

aggregation = newAggregation(
                project("firstName", "lastName", "email")
                        .and("organization.name").as("company")
                        .and("organization.roles.roleName").as("roleName")

我想知道如何使用 Spring API 在项目聚合中使用 $eq。我试图将比赛放在项目之外,如下所示。但是查询没有获取任何记录。因此,我使用 $eq 在项目中进行比较,并将结果分配到新的项目属性中,并在项目管道之外进行检查。

{ $匹配:{$organization.roles.orgRoleId","$userOrgMap.roleId"}

您可以在 $project 阶段按以下方式使用 $eq 聚合。

and(ComparisonOperators.Eq.valueOf("organization.roles.orgRoleId").equalTo("us‌​erOrgMap.roleId")).as("matchingRole"),