Как добавить массив полей в ProjectionOperation с данными Spring mongodb - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть это парто запроса в Монго, который возвращает массив полей.

{ $project:
    {
        ...
        result:
            [
                { sumShotsOfOneAttempted: '$sumShotsOfOneAttempted1', sumShotsOfOneFailed: '$sumShotsOfOneFailed1'},
                { sumShotsOfOneAttempted: '$sumShotsOfOneAttempted2', sumShotsOfOneFailed: '$sumShotsOfOneFailed2'}
            ]

    }
}

Я пытаюсь построить то же самое с помощью Spring-Mongodb, используя ProjectionOperation:

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>

Есть идеи, пожалуйста?

1 Ответ

0 голосов
/ 20 февраля 2019

Как уже упоминалось в другом сообщении введите описание ссылки здесь

ProjectionOperation projectionOperation = Aggregation.project("matches");

for(String typeOfShots : typesOfShots) {
    projectionOperation = projectionOperation.and("sum"+typeOfShots+"Attempted").as("sum"+typeOfShots+"Attempted");
}
...