Can everyone discuss about this problem ? (i am using mongodb 7 and spring mongo 4.3)
public Mono countStatusByPageId2(String pageId) {
Criteria criteria = new Criteria().andOperator(
Criteria.where(“status”).is(BusinessEnum.S_ACTIVE.value()),
Criteria.where(“pageId”).is(pageId));
MatchOperation matchOperation = Aggregation.match(criteria);
GroupOperation groupOperation = Aggregation.group()
.count().as("total")
.sum(ConditionalOperators.when(Criteria.where("pageAreaId").ne(null))
.then(1).otherwise(0)).as("numDeviceActive");
ProjectionOperation project = Aggregation.project()
.andExclude("_id")
.and("total").as("total")
.and("numDeviceActive").as("numDeviceActive");
Aggregation aggregation = Aggregation.newAggregation(matchOperation, groupOperation, project);
return mongoTemplate.aggregate(aggregation, "pageResourceDevice", Document.class).next();
}