Spring Boot + MongoDB: обновить и получить размер в одном запросе - PullRequest
1 голос
/ 18 июня 2019

Я использую Spring Boot 2.1.3.RELEASE и MongoDB.Мне нужно обновить список в документе и получить счетчик этого списка в одном запросе.

Пример документа:

  @Data
  public class Company {
    @Id
    private String id;

    private List<String> departments; 
  }

Запрос на обновление:

mongoTemplate.updateFirst(query(where("_id").is("companyId")),
        new Update().pull("departments", "IT"),
        "companyCollection");

Запрос на подсчет:

final Aggregation aggregation = newAggregation(
        match(where("_id").is("companyId")),
        project()
            .and("departments")
            .size()
            .as("count")
    );

Он должен быть атомарным.Есть ли способ добиться этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...