सबसे स्पष्ट प्रलेखित बिंदु नहीं। आपको Fields
. के भिन्न प्रतिनिधित्व की आवश्यकता है अपनी एकाधिक फ़ील्ड स्थिति को ठीक से परिभाषित करने के लिए यहां आपत्ति करें:
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")
);
वह Fields.field
का उपयोग कर रहा है परिभाषा जिसमें "नाम" और "लक्ष्य" है ताकि इसकी सही व्याख्या की जा सके। सादे स्ट्रिंग्स का उपयोग करने से फ़ील्ड नाम में अंतिम "डॉट" तक सब कुछ अलग करने की डिफ़ॉल्ट कार्रवाई होगी, और आपकी त्रुटि के अनुसार ये दोनों एक ही चीज़ हैं। इस फ़ॉर्म में निर्दिष्ट करना बिल्डर को बताता है कि आप इसे कैसे ठीक से संभालना चाहते हैं।
जो मूल रूप से $group
. को क्रमबद्ध करता है के रूप में:
{ "$group": {
"_id": {
"name1": "$kademeler.isemirleri.isemriKaynagi.name",
"name2": "$kademeler.isemirleri.isemriSebebi.name"
},
"etkilenenAboneSayisi": { "$sum": 1 }
}}
आप यही चाहते हैं।