Bạn phải sử dụng khung tổng hợp. Nhập tĩnh tất cả các phương thức của các lớp trợ giúp và sử dụng đoạn mã dưới đây.
Sử dụng BasicDBObject
không bắt buộc trong api trình điều khiển 3.x mới hơn. Bạn nên sử dụng lớp mới Document
cho những nhu cầu tương tự.
import static com.mongodb.client.model.Accumulators.*;
import static com.mongodb.client.model.Aggregates.*;
import static java.util.Arrays.asList;
import static com.mongodb.client.model.Filters.*;
import static com.mongodb.client.model.Projections.*;
Bson match = match(and(ne("DOCRANK", 0), ne("TAB", "People-Tab")));
Bson group = group("$USERID", first("USERID", "$USERID"), first("DOCID", "$DOCID"), first("DOCRANK", "$DOCRANK"), first("QUERYTEXT", "$QUERYTEXT"));
Bson projection = project(fields(include("USERID", "DOCID", "DOCRANK", "QUERYTEXT"), excludeId()));
MongoCursor<Document> cursor = collection.aggregate(asList(match, group, projection)).iterator();
Giai đoạn chiếu là tùy chọn, chỉ được thêm vào để đưa ra một ví dụ hoàn chỉnh.
Tìm hiểu thêm về tổng hợp tại đây https://docs.mongodb.com/manual/reference/ toán tử / tổng hợp /