如何为此Criteria查询编写MongoDb聚合

时间:2017-03-31 09:47:17

标签: spring mongodb hibernate

这是标准查询

Query query = new Query();
        query.addCriteria(Criteria.where("careGiverId").is(careTakerId));
        query.addCriteria(Criteria.where("careType").is(careType));         
        return mongoOperations.count(query,  CareLogBean.class);

如何对此应用Mongodb Aggregations ...我将返回计数....帮助我  提前谢谢

1 个答案:

答案 0 :(得分:0)

对于使用Spring Mongo 1.10.1的Mongo Server 3.4版本,您可以尝试类似下面的内容。使用$count聚合运算符。

 AggregationOperation match = Aggregation.match(Criteria.where("careGiverId").is(careTakerId).and("careType").is(careType));
 AggregationOperation count = Aggregation.count().as("count");
 Aggregation agg = Aggregation.newAggregation(match, count);
 mongoOperations.aggregate(agg, CareLogBean.class);