我正在使用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")
);
它必须是原子的。有没有办法做到这一点?