【发布时间】:2016-12-08 20:57:18
【问题描述】:
我在 MongoDB 中有一个聚合查询,当我直接在 shell 中运行它时它就可以工作。这是 shell 查询:
db.game.aggregate([
{$unwind: "$array"},
{$group:{"_id" : "$array.ToId", "pointCount": {$sum:"$array.point"}}},
{$project: {_id: 0, "ToId":"$_id", "pointCount": 1}}
])
我想收到
List<Map<String, Integer>>
其中 String = ToId,Integer = pointCount
这就是我正在做的事情
@Inject
private MongoTemplate mongoTemplate;
public List<Map<String, Integer>> getUsers(A array) {
Aggregation aggregation = newAggregation(
unwind("achievement"),
group("_id", "array.ToId", "pointCount").sum("array.PointCount"),
project("ToId", "pointCount")
);
AggregationResults groupResults = mongoTemplate.aggregate(
aggregation, UserRepo.class, A.class);
List<Map<String, Integer>> users = groupResults.getMappedResults();
return users;
}
但它给出了一个错误: 无法解析方法'newAggregation(org.springframework.data.mongodb.core.aggregation.UnwindOperation,org.springframework.data.mongodb.core.aggregation.GroupOperation.GroupOperationBuilder,org.springframework.data.mongodb.core.aggregation.ProjectionOperation) '
我做错了什么,请解释一下。谢谢
【问题讨论】:
标签: java spring mongodb spring-mvc