收藏
回答

使用云数据库api ,想将记录按某个字段进行分组?

首先,我查出了某一行记录,这时候,我想根据某一个字段,对这些记录进行分组。

我查看了文档,共有3种分组方式:1,group 2,bucket 3,bucketAuto

但是这三种方式都有个共同的缺点:就是输出的字段和我原来的字段有偏差。例如使用bucketAuto


,输出的是:


我现在分组只是想要保留所有字段,单纯地分组而已。。请问要如何解决?

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

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-12-13

    db.collection('xxx').aggregate()

    ....

    .sort({

        order:1,

        addTime:-1

    })

    .group({

        _id: '$categoryid',

        rows: $.push('$$ROOT')

    }).end()


    2019-12-13
    有用 2
    回复 4
    • searchFan
      searchFan
      2019-12-13
      感谢大神😘 这个方法 我想破脑袋都想不到~ 原来是push这个方法。。。
      2019-12-13
      回复
    • searchFan
      searchFan
      2019-12-13
      弱弱地再问一句,如果我想要每个rows只限制10个呢。。
      2019-12-13
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-12-13回复searchFan
      2019-12-13
      2
      回复
    • searchFan
      searchFan
      2019-12-13回复o0o有脾气的酸奶
      非常感谢
      2019-12-13
      回复
  • Terry.Zhao
    Terry.Zhao
    2019-12-13

    可以把你的问题抽象成一些数据表sample看看,不太理解单纯分组是什么意思,分组必然要对原来的结构进行修改吧,然后通过一些命令把结构调整成你想要的,如果完全不变,只是把相同字段的放在一起,用sort?

    2019-12-13
    有用
    回复 2
    • searchFan
      searchFan
      2019-12-13
      就是 不改变数据结构,直接分组~
      2019-12-13
      回复
    • searchFan
      searchFan
      2019-12-13
      谢谢你 楼下已经帮我解决了~
      2019-12-13
      回复
登录 后发表内容
问题标签