OK, så løsningen er at angive en samlet nøgle for _id værdien. Dette er dokumenteret her som:
Du kan angive et enkelt felt fra dokumenterne i pipelinen, en tidligere beregnet værdi eller en samlet nøgle, der består af flere indgående felter.
Men det definerer faktisk ikke formatet for en samlet nøgle. Ved at læse den tidligere dokumentation her, så jeg, at den tidligere collection.group-metode kunne tage flere felter, og at den samme struktur bruges i den nye ramme.
Så for at gruppere over flere felter kan du bruge _id : { success:'$success', responseCode:'$responseCode', label:'$label'}
Som i:
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 }
}}
);