MongoTemplate 是 Spring Data MongoDB 提供的用于操作 MongoDB 数据库的工具类。它支持使用 aggregate 方法进行聚合查询,其中可以使用 $sum 操作符对字段求和。
下面是一个简单的示例,展示如何使用 MongoTemplate 的 aggregate 方法对 orders 集合中的 price 字段求和。
List<AggregationOperation> operations = new ArrayList<>();
operations.add(Aggregation.group().sum("price").as("totalPrice"));
Aggregation aggregation = Aggregation.newAggregation(operations);
AggregationResults<Document> result = mongoTemplate.aggregate(aggregation, "orders", Document.class);
Document doc = result.getUniqueMappedResult();
double totalPrice = doc.getDouble("totalPrice");
其中,Aggregation.group().sum("price").as("totalPrice") 是对 price 字段进行求和并将结果命名为 totalPrice
注意,需要注意的是需要先在pom.xml里面引入mongodb的包
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>x.x.x</version>
</dependency>
此外,在使用聚合查询之前,需要在Mongodb中开启聚合查询的功能,在配置文件中加入
setParameter = aggregate=true
逃离月球表面
5年前
-
tizzybepeacejoy
MongoDB
-
烟花易冷DarkPrince
MongoDB