收藏
回答

云开发聚合函数group,如何对按照日期字段进行group分组?

如下图,左边是静态页面显示的数据格式,右边是某个相册数据表。请问如何根据createTime字段分组。

期望查询出来的数据格式:


别人实现参考:https://developers.weixin.qq.com/community/develop/doc/000c42f02783600cff69816075bc00?highLine=%25E4%25BA%2591%25E5%25BC%2580%25E5%258F%2591%2520%25E6%2597%25A5%25E6%259C%259F%25E5%2588%2586%25E7%25BB%2584

回答关注问题邀请回答
收藏

1 个回答

  • z_oct.2
    z_oct.2
    2020-05-08

    搞定,这样就可以了

    db.collection(dbName).aggregate()
          .match({
            pid: event.pid
          })
          .group({
            _id'$createTime',
            list: $.push({
              _id: '$_id',
              pid: '$pid',
              openid: '$openid',
              content: '$content',
              thumb: '$thumb',
            }),
          }).project({
            createTime'$_id.createTime',
            list: 1,
          })
          .end()
    
    2020-05-08
    有用 4
    回复 9
    • hengx-29
      hengx-29
      2020-08-04
      createTime是date对象呢
      2020-08-04
      回复
    • z_oct.2
      z_oct.2
      2020-08-04回复hengx-29
      你可以直接试试,不然的话,写入时存时间戳,不要存时间对象。
      2020-08-04
      1
      回复
    • hengx-29
      hengx-29
      2020-08-04回复z_oct.2
      想通过截取字符串或者格式转换的方式解决,求解
      2020-08-04
      回复
    • hengx-29
      hengx-29
      2020-08-04回复z_oct.2
      再次尝试后,分组变成一条数据了
      2020-08-04
      回复
    • z_oct.2
      z_oct.2
      2020-08-04回复hengx-29
      截取字符串,没听懂。格式转换的方式:在写入数据时,时间 生成时间戳来存,不要直接存日期对象。这样一来,按照时间戳来存的数据,就可以按照我上面贴出的代码根据时间戳来分组。
      2020-08-04
      回复
    查看更多(4)
登录 后发表内容
问题标签