创新互联小程序教程:SDK数据库Aggregate·返回排序后结果

Aggregate.sortByCount(object:Object): Aggregate

支持端:小程序 2.7.4, 云函数 0.8.1, Web

在温江等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计、外贸营销网站建设 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站制作,全网营销推广,成都外贸网站建设公司,温江网站建设费用合理。

聚合阶段。根据传入的表达式,将传入的集合进行分组(group)。然后计算不同组的数量,并且将这些组按照它们的数量进行排序,返回排序后的结果。

参数

object: Object

返回值

Aggregate

API 说明

sortByCount 的调用方式如下:

sortByCount(<表达式>)

表达式的形式是:$ + 指定字段。请注意:不要漏写 $ 符号。

示例

统计基础类型

假设集合 passages 的记录如下:

{ "category": "Web" }
{ "category": "Web" }
{ "category": "Life" }

下面的代码就可以统计文章的分类信息,并且计算每个分类的数量。即对 category 字段执行 sortByCount 聚合操作。

db.collection('passages')
  .aggregate()
  .sortByCount('$category')
  .end()

返回的结果如下所示:Web 分类下有2篇文章,Life 分类下有1篇文章。

{ "_id": "Web", "count": 2 }
{ "_id": "Life", "count": 1 }

解构数组类型

假设集合 passages 的记录如下:tags 字段对应的值是数组类型。

{ "tags": [ "JavaScript", "C#" ] }
{ "tags": [ "Go", "C#" ] }
{ "tags": [ "Go", "Python", "JavaScript" ] }

如何统计文章的标签信息,并且计算每个标签的数量?因为 tags 字段对应的数组,所以需要借助 unwind 操作解构 tags 字段,然后再调用 sortByCount。

下面的代码实现了这个功能:

db.collection('passages')
  .aggregate()
  .unwind(`$tags`)
  .sortByCount(`$tags`)
  .end()

返回的结果如下所示:

{ "_id": "Go", "count": 2 }
{ "_id": "C#", "count": 2 }
{ "_id": "JavaScript", "count": 2 }
{ "_id": "Python", "count": 1 }

网站名称:创新互联小程序教程:SDK数据库Aggregate·返回排序后结果
地址分享:http://www.shufengxianlan.com/qtweb/news6/132356.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联