gpt4 book ai didi

java - MongoTemplate:符合特定条件的文档的键值求和

转载 作者:可可西里 更新时间:2023-11-01 09:13:33 25 4
gpt4 key购买 nike

我的以下 mongodb 查询按预期工作

db.importedDataItems.aggregate({
$match: {
mobile: "1234567890"
}
}, {
$group: {
_id: 'mobile',
calls: { $sum: '$calls' }
}
})

但即使在引用 these questions & tutorial 之后,其等效的 Java 代码...

Aggregation agg = Aggregation.newAggregation(Aggregation.match(Criteria.where("mobile").is("1234567890"),
Aggregation.group("mobile").sum("calls").as("totalCalls"),
Aggregation.project("totalCalls"));
AggregationResults<Doc> results = mongoTemplate.aggregate(agg, "yoCollection",
Doc.class);
Doc doc = results.getMappedResults().get(0);

...返回一个空列表并抛出 IndexOutOfBoundsException 尽管我的查询在控制台返回结果!

最佳答案

您缺少 match() 参数的右括号:

import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;

Aggregation agg = Aggregation.newAggregation(
match(Criteria.where("mobile").is("1234567890")), // <-- missing closing parenthesis
group("mobile").sum("calls").as("totalCalls"),
project("totalCalls")
);

AggregationResults<Doc> results = mongoTemplate.aggregate(agg, "yoCollection", Doc.class);
Doc doc = results.getMappedResults().get(0);

关于java - MongoTemplate:符合特定条件的文档的键值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33390407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com