我正在使用Spring mongo模板在mongodb上运行协议(protocol)查询。我想知道有什么方法可以找出Spring mongo模板中聚合结果的计数吗?
这是我的汇总示例:
Aggregation agg = newAggregation(Class1.class,
match(criteria),
group("prop1", "prop2")
.avg("x").as("averageX")
);
我只需要知道如何在Spring mongo模板中获得此聚合结果的计数即可。
最佳答案
我的回复来得很晚,但可能会对其他人有所帮助。要获得聚合计数,您需要在末尾添加一个新组:
在聚合的末尾添加-> Aggregation.group()。count()。as(“count”)以获取计数
Aggregation aggregation = newAggregation(
Aggregation.match(Criteria.where("x").is(x).and("y").exists(true)),
Aggregation.group("x", "y"),
Aggregation.group().count().as("count")
);
要获得计数:
Long.parseLong(results.getMappedResults().get(0).get("count").toString());
关于mongodb - 如何在Spring Mongo模板中获取聚合查询计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32785114/