ठीक है, तो समाधान _id मान के लिए एक समग्र कुंजी निर्दिष्ट करना है। इसे यहां इस प्रकार प्रलेखित किया गया है:
<ब्लॉकक्वॉट>आप पाइपलाइन में मौजूद दस्तावेज़ों में से एक फ़ील्ड निर्दिष्ट कर सकते हैं, पहले से परिकलित मान, या कई आने वाली फ़ील्ड से बनी एक समग्र कुंजी।
लेकिन यह वास्तव में समग्र कुंजी के प्रारूप को परिभाषित नहीं करता है। यहां पहले के दस्तावेज़ों को पढ़ते हुए मैंने देखा कि पिछली संग्रह.ग्रुप पद्धति में कई फ़ील्ड हो सकते हैं और नए ढांचे में उसी संरचना का उपयोग किया जाता है।
इसलिए, कई क्षेत्रों में समूह बनाने के लिए आप _id : { success:'$success', responseCode:'$responseCode', label:'$label'}
का उपयोग कर सकते हैं।
जैसे:
resultsCollection.aggregate(
{ $match : { testid : testid} },
{ $skip : alreadyRead },
{ $project : {
timeStamp : 1 ,
label : 1,
responseCode : 1 ,
value : 1,
success : 1
}},
{ $group : {
_id : { success:'$success', responseCode:'$responseCode', label:'$label'},
max_timeStamp : { $timeStamp : 1 },
count_responseCode : { $sum : 1 },
avg_value : { $sum : "$value" },
count_success : { $sum : 1 }
}}
);