1
我有這樣的mongo集合中的一些文檔。如何使用Mongo聚合特性來計算嵌套組的總計和小計百分比?
{
"_id" : ObjectId("57e290087139be15d59408c1"),
"groupName" : "Registration",
"testCases" : [
{
"name" : "R1",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "R1.1",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "R2",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "R3",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "R4",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "R1",
"browser" : "Firefox",
"status" : "passed"
},
{
"name" : "R2",
"browser" : "Firefox",
"status" : "passed"
},
{
"name" : "R3",
"browser" : "Firefox",
"status" : "passed"
},
{
"name" : "R4",
"browser" : "Firefox",
"status" : "failed"
}
]
}
{
"_id" : ObjectId("57e2903b7139be15d59408c2"),
"groupName" : "Checkout",
"testCases" : [
{
"name" : "C1",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "C2",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "C3",
"browser" : "Chrome",
"status" : "failed"
},
{
"name" : "C4",
"browser" : "Chrome",
"status" : "passed"
},
{
"name" : "C1",
"browser" : "Firefox",
"status" : "passed"
},
{
"name" : "C2",
"browser" : "Firefox",
"status" : "passed"
},
{
"name" : "C3",
"browser" : "Firefox",
"status" : "passed"
},
{
"name" : "C4",
"browser" : "Firefox",
"status" : "failed"
}
]
}
如何使用Mongo的聚合特性來計算嵌套組的總計和小計百分比?
我期待着與結果的輸出作爲
例預期輸出:
results: [
{
"groupName": "Registration",
"totalTests": 17,
"section": [
{ "name": "R1", "totalTests": 17, "sectionCount": 2 }
]
}
]
感謝Chridam。我從來不知道有幾個關鍵字可以幫助像$$ ROOT,$ push,$ first這樣的集合函數。再次感謝您在此展示燈光。 現在我的查詢已經從100多行代碼減少到40以下。 – Nirmal