Không phải là điểm được ghi nhận rõ ràng nhất. Bạn cần một cách trình bày khác của Fields
ở đây để xác định điều kiện nhiều trường của bạn một cách chính xác:
Aggregation aggregation = newAggregation(
match(criteria),
unwind("kademeler"),
match(criteria),
group(
Fields.from(
Fields.field("name1", "kademeler.isemirleri.isemriKaynagi.name"),
Fields.field("name2", "kademeler.isemirleri.isemriSebebi.name")
)).count().as("etkilenenAboneSayisi")
);
Đó là sử dụng Fields.field
định nghĩa có "tên" và "đích" để nó được diễn giải một cách chính xác. Việc sử dụng chuỗi thuần túy sẽ chỉ dẫn đến hành động mặc định là loại bỏ mọi thứ cho đến "dấu chấm" cuối cùng trong tên trường và theo lỗi của bạn, cả hai đều giống nhau. Việc chỉ định trong biểu mẫu này cho người xây dựng biết cách bạn muốn nó được xử lý đúng cách.
Về cơ bản, nó sắp xếp thứ tự cho $group
như:
{ "$group": {
"_id": {
"name1": "$kademeler.isemirleri.isemriKaynagi.name",
"name2": "$kademeler.isemirleri.isemriSebebi.name"
},
"etkilenenAboneSayisi": { "$sum": 1 }
}}
Đó là những gì bạn muốn.