Nhóm
Cấu hình khóa nhóm và bộ tích lũy sau tiêu chí chung và mở rộng bằng bộ tích lũy gốc của Driver hoặc ánh xạ tùy chỉnh.
nhóm cơ bản
java
Mono<Map<String, GroupResult>> grouped = dsl
.executeEntity(Order.class, MongoTemplateName.FRONT)
.fields(pair("status", "DONE"))
.end()
.findAll()
.group(String.class, GroupResult.class)
.by("userId")
.count()
.sum("amount", "totalAmount")
.execute();Bộ tích lũy
• count() / countAs(alias)
• sum(field, alias) / avg(field, alias)
• min(field, alias) / max(field, alias)
• addToSet(field, alias) / push(field, alias)
• Bộ tích lũy gốc của Driver: accumulator(BsonField)
Ánh xạ kết quả nhóm
java
.group(String.class, GroupResult.class)
.keyConverter(document -> ...)
.valueConverter(document -> ...)
.execute();Nếu cần ánh xạ key/value cơ bản và hình dạng kết quả khác, bạn có thể chỉ định bộ chuyển đổi trực tiếp. Cũng có thể kết nối executeLookup(rightBuilder, spec) với kết quả nhóm.