如何使用 Spring 数据 mongodb 将字段数组添加到 ProjectionOperation
How to add Array of Fields to ProjectionOperation with Spring data mongodb
我在 mongo 中有这部分查询 return 字段数组。
{ $project:
{
...
result:
[
{ sumShotsOfOneAttempted: '$sumShotsOfOneAttempted1', sumShotsOfOneFailed: '$sumShotsOfOneFailed1'},
{ sumShotsOfOneAttempted: '$sumShotsOfOneAttempted2', sumShotsOfOneFailed: '$sumShotsOfOneFailed2'}
]
}
}
我正在尝试使用 ProjectionOperation 使用 spring-mongodb 构建相同的对象:
ProjectionOperation projectStage = Aggregation.project("fieldId");
并且我想将数组中的字段添加到这个projectStage中,但我只知道如何将一个一个添加为projectStage.and("sumShotsOfOneAttempted1").as(sumShotsOfOneAttempted);
而不是数组。
我对 spring.mongodb 的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
有什么想法吗?
正如你提到的其他post
ProjectionOperation projectionOperation = Aggregation.project("matches");
for(String typeOfShots : typesOfShots) {
projectionOperation = projectionOperation.and("sum"+typeOfShots+"Attempted").as("sum"+typeOfShots+"Attempted");
}
我在 mongo 中有这部分查询 return 字段数组。
{ $project:
{
...
result:
[
{ sumShotsOfOneAttempted: '$sumShotsOfOneAttempted1', sumShotsOfOneFailed: '$sumShotsOfOneFailed1'},
{ sumShotsOfOneAttempted: '$sumShotsOfOneAttempted2', sumShotsOfOneFailed: '$sumShotsOfOneFailed2'}
]
}
}
我正在尝试使用 ProjectionOperation 使用 spring-mongodb 构建相同的对象:
ProjectionOperation projectStage = Aggregation.project("fieldId");
并且我想将数组中的字段添加到这个projectStage中,但我只知道如何将一个一个添加为projectStage.and("sumShotsOfOneAttempted1").as(sumShotsOfOneAttempted);
而不是数组。
我对 spring.mongodb 的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
有什么想法吗?
正如你提到的其他post
ProjectionOperation projectionOperation = Aggregation.project("matches");
for(String typeOfShots : typesOfShots) {
projectionOperation = projectionOperation.and("sum"+typeOfShots+"Attempted").as("sum"+typeOfShots+"Attempted");
}