java 根据条件查询mongo指定字段并求和
时间: 2024-02-17 07:11:25 浏览: 23
可以使用MongoDB的聚合框架来实现根据条件查询指定字段并求和的操作。
下面是一个Java代码示例:
```java
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("mycollection");
Bson filter = Filters.eq("status", "paid");
List<Document> pipeline = Arrays.asList(
new Document("$match", filter),
new Document("$group", new Document("_id", null).append("totalAmount", new Document("$sum", "$amount")))
);
AggregateIterable<Document> result = collection.aggregate(pipeline);
if (result.iterator().hasNext()) {
double totalAmount = result.iterator().next().getDouble("totalAmount");
System.out.println("Total amount for paid status: " + totalAmount);
}
```
这个示例假设你已经连接到MongoDB数据库,并获得了一个名为mycollection的集合。它使用聚合框架来对该集合中符合status字段等于paid条件的文档中的amount字段进行求和,并将结果存储在totalAmount变量中。