MongoDB聚合-分组数据

菲利普

我有包含用户活动数据(活动类型)的MongoDB集合,我想将活动分为两组并返回活动计数。

集合看起来像这样(还有一些其他字段,例如日期等):

{"userID": 1, "activity": "reading"}
{"userID": 1, "activity": "sleeping"}
{"userID": 1, "activity": "hiking"}
{"userID": 1, "activity": "sleeping"}
{"userID": 1, "activity": "biking"}

我想进行汇总,以返回分组的多个活动的计数,例如。我想将“远足”和“骑自行车”分组为“娱乐”,“睡眠”和“阅读”分组为“休息”,然后将自选定日期以来指定用户的活动计数分组:

"recreation": 2
"resting": 3

我所做的就是匹配userIDdate $gte得到了用户的选择和周期,试图计数的所有活动,$sum$project,但它不能得到正常工作。

谢谢!

当然

你可以用$group$cond

[
  {
    $group: {
      _id: "$userID",
      recreation: {
        $sum: {
          $cond: [
            {
              $or: [
                {$eq: ["$activity","hiking"]},
                {$eq: ["$activity","biking"]}
              ]
            },
            1,
            0
          ]
        }
      },
      resting: {
        $sum: {
          $cond: [
            {
              $or: [
                {$eq: ["$activity","sleeping"]},
                {$eq: ["$activity","reading"]}
              ]
            },
            1,
            0
          ]
        }
      }
    }
  }
]

工作蒙戈游乐场

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB分组数据-mapReduce还是聚合?

来自分类Dev

Mongodb聚合与多个分组

来自分类Dev

MongoDB通过聚合分组

来自分类Dev

MongoDB嵌套聚合分组

来自分类Dev

MongoDB聚合的多个分组

来自分类Dev

MongoDB聚合。$ group,但也收集非分组字段上的数据

来自分类Dev

MongoDB聚合按查询分组

来自分类Dev

Mongodb聚合和嵌套分组

来自分类Dev

mongodb聚合:按_id分组

来自分类Dev

MongoDB聚合包含伪数据

来自分类Dev

MongoDB聚合查询的Spring数据

来自分类Dev

MongoDB聚合,按子对象键分组

来自分类Dev

MongoDB-聚合,按数组值分组

来自分类Dev

MongoDB聚合-对分组的addToSet字段求和

来自分类Dev

如何使用聚合将mongodb分组

来自分类Dev

Mongodb聚合和按查询分组

来自分类Dev

MeteorJS中的MongoDB聚合和分组问题

来自分类Dev

具有多个分组的MongoDb聚合管道

来自分类Dev

mongodb 聚合已分组的不同组合(分组内分组)

来自分类Dev

如何使用mongodb聚合框架比较两个日期之间的分组数据

来自分类Dev

如何使用mongodb分组数据?

来自分类Dev

枢轴,分组或聚合数据框

来自分类Dev

大数据的MongoDB聚合超时异常

来自分类Dev

MongoDb聚合查询转换为Spring数据

来自分类Dev

大数据的MongoDB聚合超时异常

来自分类Dev

聚合Mongodb并检查每行数据

来自分类Dev

在mongodb中聚合数据数组

来自分类Dev

在mongodb中使用聚合无法获取数据

来自分类Dev

MongoDB:聚合,按几个字段分组