以下是我的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} }])
以下是我的SpringData mongo API
aggregation = newAggregation(
project("firstName", "lastName", "email")
.and("organization.name").as("company")
.and("organization.roles.roleName").as("roleName")
我想知道如何使用Spring API在项目聚合中使用$ eq。我试图将比赛放在项目之外,如下所示。但查询并没有获取任何记录。所以我在项目中使用$ eq进行比较,并将结果分配给一个新的项目属性,并在项目管道之外检查它。
{$ match:{$ organization.roles.orgRoleId“,”$ userOrgMap.roleId“}
答案 0 :(得分:0)
您可以在$eq
阶段以下列方式使用$project
聚合。
and(ComparisonOperators.Eq.valueOf("organization.roles.orgRoleId").equalTo("userOrgMap.roleId")).as("matchingRole"),