Добре, така че решението е да посочите обобщен ключ за стойността _id. Това е документирано тук като:
Можете да посочите едно поле от документите в конвейера, предварително изчислена стойност или обобщен ключ, съставен от няколко входящи полета.
Но всъщност не дефинира формата за обобщен ключ. Четейки по-ранната документация тук, видях, че предишният метод collection.group може да заеме множество полета и че същата структура се използва в новата рамка.
Така че, за да групирате в множество полета, можете да използвате _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 }
}}
);