支持端:小程序 2.7.4, 云函数 0.8.1, Web
聚合阶段。根据传入的表达式,将传入的集合进行分组(group)。然后计算不同组的数量,并且将这些组按照它们的数量进行排序,返回排序后的结果。
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 }
Command.all(values: any[]):Command支持端:小程序 2.8.3,云函数 1.2.1,Web数组查询操作符。用于数组字段的查询筛选条件,要求...
AggregateCommand.cmp(value:Expression[]): Object支持端:小程序 2.7.4,云函数 0.8.1,Web聚合操作符。给定两个值,返回其比较...
AggregateCommand.let(value: any): Object支持端:小程序 2.7.4,云函数 0.8.1,Web聚合操作符。自定义变量,并且在指定表达式中...
#概览非兼容:两者作用于同一个元素上时,v-if 会拥有比 v-for 更高的优先级。#介绍Vue.js 中使用最多的两个指令就是 v-if 和 v-...
注意所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对 property 和方法进行运算。这意味着你不能使用箭...
#Data Property组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中调用此函数。它应该返回一个对象,然后 Vue 会通过响...
Vue 提供了一些抽象概念,可以帮助处理过渡和动画,特别是在响应某些变化时。这些抽象的概念包括:在 CSS 和 JS 中,使用内置的 ...