如何使用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 }
        ]
    }
]
克列丹

您可以尝试运行以下聚合操作:

db.collection.aggregate([
    { "$unwind": "$testCases" },
    {
        "$group": {
            "_id": null,
            "testsCount": { "$sum": 1 },
            "docs": { "$push": "$$ROOT" }
        }
    },
    { "$unwind": "$docs" },
    {
        "$group": {
            "_id": {
                "groupName": "$docs.groupName",
                "testName": "$docs.testCases.name"
            },
            "count": { "$sum": 1 },
            "testsCount": { "$first": "$testsCount" }
        }
    },    
    {
        "$group": {
            "_id": "$_id.groupName",
            "totalTests": { "$first": "$testsCount" },
            "section": {
                "$push": {
                    "name": "$_id.testName", 
                    "totalTests": "$testsCount", 
                    "sectionCount": "$count"
                }
            }
        }
    }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

(AngularJS)动态计算每个不同百分比的小计

来自分类Dev

如何计算像素百分比?

来自分类Dev

如何计算百分比

来自分类Dev

使用MySQL的列组的百分比总计

来自分类Dev

计算百分比和分数

来自分类Dev

R中的汇总,以按组计算总计的百分比?

来自分类Dev

如何用熊猫计算百分比和累积百分比

来自分类Dev

如何使用mongodb聚合计算数组字段上的百分比?

来自分类Dev

在mongodb聚合管道中计算组内的百分比

来自分类Dev

如何使用Pandas Groupby计算每列中总计的百分比

来自分类Dev

使用dplyr计算两组发生的百分比和频率

来自分类Dev

使用groupby计算总计的百分比

来自分类Dev

如何使用Google Apps脚本计算百分比

来自分类Dev

R dplyr计算组和列的百分比

来自分类Dev

数据框小计和百分比

来自分类Dev

如何使用MPI计算百分比率?

来自分类Dev

嵌套表格,列内子组的总计,使用r“表格”包的频率和百分比

来自分类Dev

sql计算组的百分比

来自分类Dev

如何计算Gridview小计下方的行中的百分比?

来自分类Dev

如何计算百分比?

来自分类Dev

如何计算百分比

来自分类Dev

如何计算像素百分比?

来自分类Dev

如何使用SQL(PostgreSQL)计算百分比?

来自分类Dev

如何使用SQL语句计算百分比?

来自分类Dev

Spotfire-计算小计的百分比

来自分类Dev

如何计算CPU使用率百分比?

来自分类Dev

如何使用javascript从excel中计算百分比

来自分类Dev

在 SSRS 2008R2 中使用外部组总计计算内部组百分比

来自分类Dev

如何使用分组计算值的百分比