如何使用Mongodb在同一查询中添加数据集的摘要页眉/页脚

克里斯

让以下数据集(为清楚起见,省略了_id)

{ "model":"Nissan", "regId": 1230, "status": "active", "regCost" :100},
{ "model":"Nissan", "regId": 1231, "status": "active", "regCost" :100 },
{ "model":"Nissan", "regId": 1232, "status": "inactive", "regCost" :0},
{ "model":"Honda", "regId": 1233, "status": "active", "regCost" :90},
{ "model":"Honda", "regId": 1234, "status": "active", "regCost" :90},
{ "model":"Toyota", "regId": 1235, "status": "active", "regCost" :80}

在Mongo中运行以下查询

[
{
    "$group": {

        "_id": "$model",
        "TotalActive": {
            "$sum": {
                "$cond": {
                    "if": {
                        "$eq": ["$status", "active"]
                    },
                    "then": 1,
                    "else": 0
                }
            }
        },
                "TotalCost" : {"$sum" : "$regCost"}
    }
}
]

将得到以上结果:

在此处输入图片说明

问题是如何修改查询以添加摘要行,例如:

在此处输入图片说明

阿什

您可以使用以下汇总

db.collection.aggregate([
  { "$group": {
    "_id": "$model",
    "TotalActive": {
      "$sum": {
        "$cond": {
          "if": {
            "$eq": ["$status", "active"]
          },
          "then": 1,
          "else": 0
        }
      }
    },
    "TotalCost": { "$sum": "$regCost" }
  }},
  { "$facet": {
    "total": [
      { "$group": {
        "_id": "Total",
        "TotalActive": { "$sum": "$TotalActive" },
        "TotalCost": { "$sum": "$TotalCost" }
      }}
    ],
    "data": [{ "$match": {} }]
  }},
  { "$project": {
    "data": {
      "$concatArrays": ["$data", "$total"]
    }
  }},
  { "$unwind": "$data" },
  { "$replaceRoot": { "newRoot": "$data" } }
])

蒙哥运动场

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RSQLite:同一查询中的绑定集和标量

来自分类Dev

RSQLite:同一查询中的绑定集和标量

来自分类Dev

如何在所选查询位于同一查询中的地方添加聚合函数

来自分类Dev

如何在同一查询中从当前集合中获取对象数组以及另一集合中的数据

来自分类Dev

MongoDB:如何在特定格式的同一查询中查找和计数?

来自分类Dev

在Rails的同一查询中从关联模型加载数据

来自分类Dev

使用多个联接将同一查询中的数据分组

来自分类Dev

包含在Rails中:如何在同一查询中混合使用OR和外部联接?

来自分类Dev

如何在同一查询中使用SUM结果?

来自分类常见问题

使用PostgreSQL更新同一查询中的多行

来自分类Dev

如何在同一查询中同时使用sp_msforeachtable和sp_msforeachdb?

来自分类Dev

如何使用getdate()在同一查询会话中获得不同的时间?

来自分类Dev

使用Apollo客户端访存多次触发同一查询多次Apollo客户端并附加数据

来自分类Dev

在同一查询中多次插入?

来自分类Dev

Apache POI-在同一行的页眉/页脚中添加多个段落

来自分类Dev

Apache POI-在同一行的页眉/页脚中添加多个段落

来自分类Dev

PyMongo查询不返回结果,尽管同一查询在mongoDB shell中返回结果

来自分类Dev

MongoDB查询在同一查询中使用distinct和limit

来自分类Dev

如果主键用作同一张表中的外键,如何添加数据?

来自分类Dev

如何根据酒店名称在同一行但在不同列中添加数据

来自分类Dev

如何在同一查询中的同一表之间插入和删除?

来自分类Dev

添加页眉和页脚数据

来自分类Dev

是否基于同一查询中返回的数据来限制查询结果?

来自分类Dev

MongoDB在同一查询中使用$ and和$ or运算符

来自分类Dev

在php / mysql中的同一查询中引用两个数据库表

来自分类Dev

从同一查询中的两个不同表中获取数据

来自分类Dev

如何查询特定类别或同一查询中的所有类别?

来自分类Dev

如何在查询结果中检查变量以更改同一查询的while循环?

来自分类Dev

当同一查询涉及两个数据库时,如何执行PDO语句?

Related 相关文章

  1. 1

    RSQLite:同一查询中的绑定集和标量

  2. 2

    RSQLite:同一查询中的绑定集和标量

  3. 3

    如何在所选查询位于同一查询中的地方添加聚合函数

  4. 4

    如何在同一查询中从当前集合中获取对象数组以及另一集合中的数据

  5. 5

    MongoDB:如何在特定格式的同一查询中查找和计数?

  6. 6

    在Rails的同一查询中从关联模型加载数据

  7. 7

    使用多个联接将同一查询中的数据分组

  8. 8

    包含在Rails中:如何在同一查询中混合使用OR和外部联接?

  9. 9

    如何在同一查询中使用SUM结果?

  10. 10

    使用PostgreSQL更新同一查询中的多行

  11. 11

    如何在同一查询中同时使用sp_msforeachtable和sp_msforeachdb?

  12. 12

    如何使用getdate()在同一查询会话中获得不同的时间?

  13. 13

    使用Apollo客户端访存多次触发同一查询多次Apollo客户端并附加数据

  14. 14

    在同一查询中多次插入?

  15. 15

    Apache POI-在同一行的页眉/页脚中添加多个段落

  16. 16

    Apache POI-在同一行的页眉/页脚中添加多个段落

  17. 17

    PyMongo查询不返回结果,尽管同一查询在mongoDB shell中返回结果

  18. 18

    MongoDB查询在同一查询中使用distinct和limit

  19. 19

    如果主键用作同一张表中的外键,如何添加数据?

  20. 20

    如何根据酒店名称在同一行但在不同列中添加数据

  21. 21

    如何在同一查询中的同一表之间插入和删除?

  22. 22

    添加页眉和页脚数据

  23. 23

    是否基于同一查询中返回的数据来限制查询结果?

  24. 24

    MongoDB在同一查询中使用$ and和$ or运算符

  25. 25

    在php / mysql中的同一查询中引用两个数据库表

  26. 26

    从同一查询中的两个不同表中获取数据

  27. 27

    如何查询特定类别或同一查询中的所有类别?

  28. 28

    如何在查询结果中检查变量以更改同一查询的while循环?

  29. 29

    当同一查询涉及两个数据库时,如何执行PDO语句?

热门标签

归档