bonjour,

j'ai cette structure de document dans un mongo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
{
    "_id" : ObjectId("54365a23398eaf05e8263ad6"),
    "build_id" : "601",
    "project_name" : "un_projet",
    "fail_reason" : "",
    "test_duration" : "16.21",
    "failure_type" : "",
    "error_log" : "",
    "test_name" : "shoult_test_something",
    "test_classname" : "com.toto.MonTest",
    "test_result_status" : "SKIPPED"
}

et je cherche la requête qui me permettrait de sortir ce résultat par projet et par build :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
{
    "project_name" : "un_projet",
    "build_id" : 601,
    "count_test_total" : 30,
    "count_test_result_status_SKIPPED" : 10, 
    "count_test_result_status_SUCCESS" : 10, 
    "count_test_result_status_FAILED" : 10
}

ma requête sur laquelle je pèche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
db.results.aggregate(
   [
      { $group: {
        _id: { project_name: '$project_name', build_id: '$build_id', test_result_status: '$test_result_status' }
      }},
 
      { $group: {
        _id: {test_result_status:'$_id.test_result_status', project_name:'$_id.project_name'},
        result: { $sum:'$_id' }
      }},
 
      { $project: {
        _id: 0,
        project_name:'$_id.project_name',
        test_result_status: '$_id.test_result_status',
        count:"$result"
      }}
 
 
   ]
)

merci d'avance