提交 d11c78c8 编写于 作者: 雪洛's avatar 雪洛

docs: uniCloud

上级 a4214aeb
......@@ -5199,13 +5199,15 @@ let res = await db.collection('todos').doc('doc-id').update({
})
```
## 聚合操作符@aggregate-operator
## 数据库运算方法@aggregate-operator
**等同于mongoDB聚合操作符概念**
### 算术操作符
#### abs
聚合操作符。返回一个数字的绝对值。
返回一个数字的绝对值。
##### API 说明
......@@ -5254,7 +5256,7 @@ let res = await db.collection('ratings').aggregate()
#### add
聚合操作符。将数字相加或将数字加在日期上。如果数组中的其中一个值是日期,那么其他值将被视为毫秒数加在该日期上。
将数字相加或将数字加在日期上。如果数组中的其中一个值是日期,那么其他值将被视为毫秒数加在该日期上。
##### API 说明
......@@ -5327,7 +5329,7 @@ let res = await db.collection('staff').aggregate()
#### ceil
聚合操作符。向上取整,返回大于或等于给定数字的最小整数。
向上取整,返回大于或等于给定数字的最小整数。
##### API 说明
......@@ -5371,7 +5373,7 @@ let res = await db.collection('sales').aggregate()
#### divide
聚合操作符。传入被除数和除数,求商。
传入被除数和除数,求商。
##### API 说明
......@@ -5415,7 +5417,7 @@ let res = await db.collection('railroads').aggregate()
#### exp
聚合操作符。取 e(自然对数的底数,欧拉数) 的 n 次方。
取 e(自然对数的底数,欧拉数) 的 n 次方。
##### API 说明
......@@ -5457,7 +5459,7 @@ let res = await db.collection('math').aggregate()
#### floor
聚合操作符。向下取整,返回大于或等于给定数字的最小整数。
向下取整,返回大于或等于给定数字的最小整数。
##### API 说明
......@@ -5501,7 +5503,7 @@ let res = await db.collection('sales').aggregate()
#### ln
聚合操作符。计算给定数字在自然对数值。
计算给定数字在自然对数值。
##### API 说明
......@@ -5533,7 +5535,7 @@ db.command.aggregate.ln(<number>)
#### log
聚合操作符。计算给定数字在给定对数底下的 log 值。
计算给定数字在给定对数底下的 log 值。
##### API 说明
......@@ -5579,7 +5581,7 @@ let res = await db.collection('curve').aggregate()
#### log10
聚合操作符。计算给定数字在对数底为 10 下的 log 值。
计算给定数字在对数底为 10 下的 log 值。
##### API 说明
......@@ -5611,7 +5613,7 @@ db.command.aggregate.log(<number>)
#### mod
聚合操作符。取模运算,取数字取模后的值。
取模运算,取数字取模后的值。
##### API 说明
......@@ -5655,7 +5657,7 @@ let res = await db.collection('shopping').aggregate()
#### multiply
聚合操作符。取传入的数字参数相乘的结果。
取传入的数字参数相乘的结果。
##### API 说明
......@@ -5700,7 +5702,7 @@ let res = await db.collection('fruits').aggregate()
#### pow
聚合操作符。求给定基数的指数次幂。
求给定基数的指数次幂。
##### API 说明
......@@ -5744,7 +5746,7 @@ let res = await db.collection('stats').aggregate()
#### sqrt
聚合操作符。求平方根。
求平方根。
##### API 说明
......@@ -5788,7 +5790,7 @@ let res = await db.collection('triangle').aggregate()
#### subtract
聚合操作符。将两个数字相减然后返回差值,或将两个日期相减然后返回相差的毫秒数,或将一个日期减去一个数字返回结果的日期。
将两个数字相减然后返回差值,或将两个日期相减然后返回相差的毫秒数,或将一个日期减去一个数字返回结果的日期。
##### API 说明
......@@ -5832,7 +5834,7 @@ let res = await db.collection('scores').aggregate()
#### trunc
聚合操作符。将数字截断为整形。
将数字截断为整形。
##### API 说明
......@@ -5876,7 +5878,7 @@ let res = await db.collection('scores').aggregate()
#### arrayElemAt
聚合操作符。返回在指定数组下标的元素。
返回在指定数组下标的元素。
##### API 说明
......@@ -5923,7 +5925,7 @@ let res = await db.collection('exams').aggregate()
#### arrayToObject
聚合操作符。将一个数组转换为对象。
将一个数组转换为对象。
##### API 说明
......@@ -5983,7 +5985,7 @@ let res = await db.collection('shops').aggregate()
#### concatArrays
聚合操作符。将多个数组拼接成一个数组。
将多个数组拼接成一个数组。
##### API 说明
......@@ -6025,7 +6027,7 @@ let res = await db.collection('items').aggregate()
#### filter
聚合操作符。根据给定条件返回满足条件的数组的子集。
根据给定条件返回满足条件的数组的子集。
##### API 说明
......@@ -6092,7 +6094,7 @@ let res = await db.collection('fruits').aggregate()
#### in
聚合操作符。给定一个值和一个数组,如果值在数组中则返回 `true`,否则返回 `false`
给定一个值和一个数组,如果值在数组中则返回 `true`,否则返回 `false`
##### API 说明
......@@ -6138,7 +6140,7 @@ let res = await db.collection('price').aggregate()
#### indexOfArray
聚合操作符。在数组中找出等于给定值的第一个元素的下标,如果找不到则返回 -1。
在数组中找出等于给定值的第一个元素的下标,如果找不到则返回 -1。
##### API 说明
......@@ -6197,7 +6199,7 @@ let res = await db.collection('stats').aggregate()
#### isArray
聚合操作符。判断给定表达式是否是数组,返回布尔值。
判断给定表达式是否是数组,返回布尔值。
##### API 说明
......@@ -6251,7 +6253,7 @@ let res = await db.collection('stats').aggregate()
#### map
聚合操作符。类似 JavaScript Array 上的 `map` 方法,将给定数组的每个元素按给定转换方法转换后得出新的数组。
类似 JavaScript Array 上的 `map` 方法,将给定数组的每个元素按给定转换方法转换后得出新的数组。
##### API 说明
......@@ -6314,7 +6316,7 @@ let res = await db.collection('stats').aggregate()
#### objectToArray
聚合操作符。将一个对象转换为数组。方法把对象的每个键值对都变成输出数组的一个元素,元素形如 `{ k: <key>, v: <value> }`
将一个对象转换为数组。方法把对象的每个键值对都变成输出数组的一个元素,元素形如 `{ k: <key>, v: <value> }`
##### API 说明
......@@ -6354,7 +6356,7 @@ let res = await db.collection('items').aggregate()
#### range
聚合操作符。返回一组生成的序列数字。给定开始值、结束值、非零的步长,`range` 会返回从开始值开始逐步增长、步长为给定步长、但不包括结束值的序列。
返回一组生成的序列数字。给定开始值、结束值、非零的步长,`range` 会返回从开始值开始逐步增长、步长为给定步长、但不包括结束值的序列。
##### API 说明
......@@ -6398,7 +6400,7 @@ db.collection('stats').aggregate()
#### reduce
聚合操作符。类似 JavaScript 的 `reduce` 方法,应用一个表达式于数组各个元素然后归一成一个元素。
类似 JavaScript 的 `reduce` 方法,应用一个表达式于数组各个元素然后归一成一个元素。
##### API 说明
......@@ -6486,7 +6488,7 @@ let res = await db.collection('player').aggregate()
#### reverseArray
聚合操作符。返回给定数组的倒序形式。
返回给定数组的倒序形式。
##### API 说明
......@@ -6529,7 +6531,7 @@ let res = await db.collection('stats').aggregate()
#### size
聚合操作符。返回数组长度。
返回数组长度。
##### API 说明
......@@ -6571,7 +6573,7 @@ let res = await db.collection('shops').aggregate()
#### slice
聚合操作符。类似 JavaScritp 的 `slice` 方法。返回给定数组的指定子集。
类似 JavaScritp 的 `slice` 方法。返回给定数组的指定子集。
##### API 说明
......@@ -6627,7 +6629,7 @@ let res = await db.collection('fruits').aggregate()
#### zip
聚合操作符。把二维数组的第二维数组中的相同序号的元素分别拼装成一个新的数组进而组装成一个新的二维数组。如可将 `[ [ 1, 2, 3 ], [ "a", "b", "c" ] ]` 转换成 `[ [ 1, "a" ], [ 2, "b" ], [ 3, "c" ] ]`
把二维数组的第二维数组中的相同序号的元素分别拼装成一个新的数组进而组装成一个新的二维数组。如可将 `[ [ 1, 2, 3 ], [ "a", "b", "c" ] ]` 转换成 `[ [ 1, "a" ], [ 2, "b" ], [ 3, "c" ] ]`
##### API 说明
......@@ -6748,7 +6750,7 @@ let res = await db.collection('items').aggregate()
#### and
聚合操作符。给定多个表达式,`and` 仅在所有表达式都返回 `true` 时返回 `true`,否则返回 `false`
给定多个表达式,`and` 仅在所有表达式都返回 `true` 时返回 `true`,否则返回 `false`
##### API 说明
......@@ -6792,7 +6794,7 @@ let res = await db.collection('price').aggregate()
#### not
聚合操作符。给定一个表达式,如果表达式返回 `true`,则 `not` 返回 `false`,否则返回 `true`。注意表达式不能为逻辑表达式(`and``or``nor``not`)。
给定一个表达式,如果表达式返回 `true`,则 `not` 返回 `false`,否则返回 `true`。注意表达式不能为逻辑表达式(`and``or``nor``not`)。
##### API 说明
......@@ -6836,7 +6838,7 @@ let res = await db.collection('price').aggregate()
#### or
聚合操作符。给定多个表达式,如果任意一个表达式返回 `true`,则 `or` 返回 `true`,否则返回 `false`
给定多个表达式,如果任意一个表达式返回 `true`,则 `or` 返回 `true`,否则返回 `false`
##### API 说明
......@@ -6882,7 +6884,7 @@ let res = await db.collection('price').aggregate()
#### cmp
聚合操作符。给定两个值,返回其比较值:
给定两个值,返回其比较值:
##### API 说明
......@@ -6928,7 +6930,7 @@ let res = await db.collection('price').aggregate()
#### eq
聚合操作符。匹配两个值,如果相等则返回 `true`,否则返回 `false`
匹配两个值,如果相等则返回 `true`,否则返回 `false`
##### API 说明
......@@ -6970,7 +6972,7 @@ let res = await db.collection('price').aggregate()
#### gt
聚合操作符。匹配两个值,如果前者大于后者则返回 `true`,否则返回 `false`
匹配两个值,如果前者大于后者则返回 `true`,否则返回 `false`
##### API 说明
......@@ -7012,7 +7014,7 @@ db.collection('price').aggregate()
#### gte
聚合操作符。匹配两个值,如果前者大于或等于后者则返回 `true`,否则返回 `false`
匹配两个值,如果前者大于或等于后者则返回 `true`,否则返回 `false`
##### API 说明
......@@ -7054,7 +7056,7 @@ let res = await b.collection('price').aggregate()
#### lt
聚合操作符。匹配两个值,如果前者小于后者则返回 `true`,否则返回 `false`
匹配两个值,如果前者小于后者则返回 `true`,否则返回 `false`
##### API 说明
......@@ -7096,7 +7098,7 @@ let res = await db.collection('price').aggregate()
#### lte
聚合操作符。匹配两个值,如果前者小于或等于后者则返回 `true`,否则返回 `false`
匹配两个值,如果前者小于或等于后者则返回 `true`,否则返回 `false`
##### API 说明
......@@ -7138,7 +7140,7 @@ let res = await db.collection('price').aggregate()
#### neq
聚合操作符。匹配两个值,如果不相等则返回 `true`,否则返回 `false`
匹配两个值,如果不相等则返回 `true`,否则返回 `false`
##### API 说明
......@@ -7182,7 +7184,7 @@ let res = await db.collection('price').aggregate()
#### cond
聚合操作符。计算布尔表达式,返回指定的两个值其中之一。
计算布尔表达式,返回指定的两个值其中之一。
##### API 说明
......@@ -7239,7 +7241,7 @@ let res = await db.collection('items').aggregate()
#### ifNull
聚合操作符。计算给定的表达式,如果表达式结果为 null、undefined 或者不存在,那么返回一个替代值;否则返回原值。
计算给定的表达式,如果表达式结果为 null、undefined 或者不存在,那么返回一个替代值;否则返回原值。
##### API 说明
......@@ -7283,7 +7285,7 @@ let res = await db.collection('items').aggregate()
#### switch
聚合操作符。根据给定的 `switch-case-default` 计算返回值、
根据给定的 `switch-case-default` 计算返回值、
##### API 说明
......@@ -7352,7 +7354,7 @@ timezone: "+0830" // 时区偏移8小时30分,同上
#### dateFromParts
聚合操作符。给定日期的相关信息,构建并返回一个日期对象。
给定日期的相关信息,构建并返回一个日期对象。
##### API 说明
语法如下:
......@@ -7416,7 +7418,7 @@ let res = await db
#### dateFromString
聚合操作符。将一个日期/时间字符串转换为日期对象
将一个日期/时间字符串转换为日期对象
##### API 说明
语法如下:
......@@ -7455,7 +7457,7 @@ let res = await db
#### dateToString
聚合操作符。根据指定的表达式将日期对象格式化为符合要求的字符串。
根据指定的表达式将日期对象格式化为符合要求的字符串。
##### API 说明
`dateToString` 的调用形式如下:
......@@ -7599,7 +7601,7 @@ let res = await db
#### dayOfMonth
聚合操作符。返回日期字段对应的天数(一个月中的哪一天),是一个介于 1 至 31 之间的数字。
返回日期字段对应的天数(一个月中的哪一天),是一个介于 1 至 31 之间的数字。
##### API 说明
......@@ -7648,7 +7650,7 @@ let res = await db
#### dayOfWeek
聚合操作符。返回日期字段对应的天数(一周中的第几天),是一个介于 1(周日)到 7(周六)之间的整数。
返回日期字段对应的天数(一周中的第几天),是一个介于 1(周日)到 7(周六)之间的整数。
##### API 说明
......@@ -7698,7 +7700,7 @@ let res = await db
#### dayOfYear
聚合操作符。返回日期字段对应的天数(一年中的第几天),是一个介于 1 到 366 之间的整数。
返回日期字段对应的天数(一年中的第几天),是一个介于 1 到 366 之间的整数。
##### API 说明
......@@ -7746,7 +7748,7 @@ let res = await db
#### hour
聚合操作符。返回日期字段对应的小时数,是一个介于 0 到 23 之间的整数。
返回日期字段对应的小时数,是一个介于 0 到 23 之间的整数。
##### API 说明
......@@ -7794,7 +7796,7 @@ let res = await db
#### isoDayOfWeek
聚合操作符。返回日期字段对应的 ISO 8601 标准的天数(一周中的第几天),是一个介于 1(周一)到 7(周日)之间的整数。
返回日期字段对应的 ISO 8601 标准的天数(一周中的第几天),是一个介于 1(周一)到 7(周日)之间的整数。
##### API 说明
......@@ -7841,7 +7843,7 @@ let res = await db
#### isoWeek
聚合操作符。返回日期字段对应的 ISO 8601 标准的周数(一年中的第几周),是一个介于 1 到 53 之间的整数。
返回日期字段对应的 ISO 8601 标准的周数(一年中的第几周),是一个介于 1 到 53 之间的整数。
##### API 说明
......@@ -7894,7 +7896,7 @@ let res = await db
#### isoWeekYear
聚合操作符。返回日期字段对应的 ISO 8601 标准的天数(一年中的第几天)。
返回日期字段对应的 ISO 8601 标准的天数(一年中的第几天)。
##### API 说明
......@@ -7943,7 +7945,7 @@ let res = await db
#### millisecond
聚合操作符。返回日期字段对应的毫秒数,是一个介于 0 到 999 之间的整数。
返回日期字段对应的毫秒数,是一个介于 0 到 999 之间的整数。
##### API 说明
......@@ -7990,7 +7992,7 @@ let res = await db
#### minute
聚合操作符。返回日期字段对应的分钟数,是一个介于 0 到 59 之间的整数。
返回日期字段对应的分钟数,是一个介于 0 到 59 之间的整数。
##### API 说明
......@@ -8037,7 +8039,7 @@ let res = await db
#### month
聚合操作符。返回日期字段对应的月份,是一个介于 1 到 12 之间的整数。
返回日期字段对应的月份,是一个介于 1 到 12 之间的整数。
##### API 说明
......@@ -8084,7 +8086,7 @@ let res = await db
#### second
聚合操作符。返回日期字段对应的秒数,是一个介于 0 到 59 之间的整数,在特殊情况下(闰秒)可能等于 60。
返回日期字段对应的秒数,是一个介于 0 到 59 之间的整数,在特殊情况下(闰秒)可能等于 60。
##### API 说明
......@@ -8131,7 +8133,7 @@ let res = await db
#### week
聚合操作符。返回日期字段对应的周数(一年中的第几周),是一个介于 0 到 53 之间的整数。
返回日期字段对应的周数(一年中的第几周),是一个介于 0 到 53 之间的整数。
##### API 说明
......@@ -8180,7 +8182,7 @@ let res = await db
#### year
聚合操作符。返回日期字段对应的年份。
返回日期字段对应的年份。
##### API 说明
......@@ -8233,7 +8235,7 @@ let res = await db
#### literal
聚合操作符。直接返回一个值的字面量,不经过任何解析和处理。
直接返回一个值的字面量,不经过任何解析和处理。
##### API 说明
......@@ -8309,7 +8311,7 @@ db.collection('items').aggregate()
#### mergeObjects
聚合操作符。将多个文档合并为单个文档。
将多个文档合并为单个文档。
##### API 说明
使用形式如下:
......@@ -8399,7 +8401,7 @@ let res = await db.collection('sales').aggregate()
#### allElementsTrue
聚合操作符。输入一个数组,或者数组字段的表达式。如果数组中所有元素均为真值,那么返回 `true`,否则返回 `false`。空数组永远返回 `true`
输入一个数组,或者数组字段的表达式。如果数组中所有元素均为真值,那么返回 `true`,否则返回 `false`。空数组永远返回 `true`
##### API 说明
......@@ -8447,7 +8449,7 @@ let res = await db.collection('price')
#### anyElementTrue
聚合操作符。输入一个数组,或者数组字段的表达式。如果数组中任意一个元素为真值,那么返回 `true`,否则返回 `false`。空数组永远返回 `false`
输入一个数组,或者数组字段的表达式。如果数组中任意一个元素为真值,那么返回 `true`,否则返回 `false`。空数组永远返回 `false`
##### API 说明
......@@ -8752,7 +8754,7 @@ let res = await db.collection('test')
#### concat
聚合操作符。连接字符串,返回拼接后的字符串。
连接字符串,返回拼接后的字符串。
##### API 说明
......@@ -8807,7 +8809,7 @@ db
#### indexOfBytes
聚合操作符。在目标字符串中查找子字符串,并返回第一次出现的 `UTF-8` 的字节索引(从0开始)。如果不存在子字符串,返回 -1。
在目标字符串中查找子字符串,并返回第一次出现的 `UTF-8` 的字节索引(从0开始)。如果不存在子字符串,返回 -1。
##### API 说明
......@@ -8860,7 +8862,7 @@ let res = await db
#### indexOfCP
聚合操作符。在目标字符串中查找子字符串,并返回第一次出现的 `UTF-8``code point` 索引(从0开始)。如果不存在子字符串,返回 -1。
在目标字符串中查找子字符串,并返回第一次出现的 `UTF-8``code point` 索引(从0开始)。如果不存在子字符串,返回 -1。
##### API 说明
......@@ -8915,7 +8917,7 @@ let res = await db
#### split
聚合操作符。按照分隔符分隔数组,并且删除分隔符,返回子字符串组成的数组。如果字符串无法找到分隔符进行分隔,返回原字符串作为数组的唯一元素。
按照分隔符分隔数组,并且删除分隔符,返回子字符串组成的数组。如果字符串无法找到分隔符进行分隔,返回原字符串作为数组的唯一元素。
##### API 说明
......@@ -8962,7 +8964,7 @@ let res = await db
#### strLenBytes
聚合操作符。计算并返回指定字符串中 `utf-8` 编码的字节数量。
计算并返回指定字符串中 `utf-8` 编码的字节数量。
##### API 说明
......@@ -9006,7 +9008,7 @@ db
#### strLenCP
聚合操作符。计算并返回指定字符串的UTF-8 [code points<span></span>](http://www.unicode.org/glossary/#code_point) 数量。
计算并返回指定字符串的UTF-8 [code points<span></span>](http://www.unicode.org/glossary/#code_point) 数量。
##### API 说明
......@@ -9050,7 +9052,7 @@ let res = await db
#### strcasecmp
聚合操作符。对两个字符串在不区分大小写的情况下进行大小比较,并返回比较的结果。
对两个字符串在不区分大小写的情况下进行大小比较,并返回比较的结果。
##### API 说明
......@@ -9101,7 +9103,7 @@ let res = await db
#### substr
聚合操作符。返回字符串从指定位置开始的指定长度的子字符串。它是 `db.command.aggregate.substrBytes` 的别名,更推荐使用后者。
返回字符串从指定位置开始的指定长度的子字符串。它是 `db.command.aggregate.substrBytes` 的别名,更推荐使用后者。
##### API 说明
......@@ -9154,7 +9156,7 @@ let res = await db
#### substrBytes
聚合操作符。返回字符串从指定位置开始的指定长度的子字符串。子字符串是由字符串中指定的 `UTF-8` 字节索引的字符开始,长度为指定的字节数。
返回字符串从指定位置开始的指定长度的子字符串。子字符串是由字符串中指定的 `UTF-8` 字节索引的字符开始,长度为指定的字节数。
##### API 说明
......@@ -9207,7 +9209,7 @@ let res = await db
#### substrCP
聚合操作符。返回字符串从指定位置开始的指定长度的子字符串。子字符串是由字符串中指定的 `UTF-8` 字节索引的字符开始,长度为指定的字节数。
返回字符串从指定位置开始的指定长度的子字符串。子字符串是由字符串中指定的 `UTF-8` 字节索引的字符开始,长度为指定的字节数。
##### API 说明
......@@ -9254,7 +9256,7 @@ let res = await db
#### toLower
聚合操作符。将字符串转化为小写并返回。
将字符串转化为小写并返回。
##### API 说明
......@@ -9301,7 +9303,7 @@ let res = await db
#### toUpper
聚合操作符。将字符串转化为大写并返回。
将字符串转化为大写并返回。
##### API 说明
......@@ -9339,33 +9341,31 @@ let res = await db
```
返回的结果如下:
```js
{ "result": "DONG" }
{ "result": "WANG" }
{ "result": "LI" }
```
### 累计器操作符@accumulator
### 分组运算方法@accumulator
#### addToSet
聚合操作符。聚合运算符。向数组中添加值,如果数组中已存在该值,不执行任何操作。它只能在 `group stage` 中使用。
聚合运算符。向数组中添加值,如果数组中已存在该值,不执行任何操作。它只能在 `group stage` 中使用。
##### API 说明
`addToSet` 语法如下:
`addToSet` 语法如下:
```js
db.command.aggregate.addToSet(<表达式>)
```
表达式是形如 `$ + 指定字段` 的字符串。如果指定字段的值是数组,那么整个数组会被当作一个元素。
##### 示例代码
假设集合 `passages` 的记录如下:
假设集合 `passages` 的记录如下:
```js
{ "category": "web", "tags": [ "JavaScript", "CSS" ], "title": "title1" }
......@@ -9422,7 +9422,7 @@ let res = await db
#### avg
聚合操作符。返回一组集合中,指定字段对应数据的平均值。
返回一组集合中,指定字段对应数据的平均值。
##### API 说明
......@@ -9468,7 +9468,7 @@ let res = await db
#### first
聚合操作符。返回指定字段在一组集合的第一条记录对应的值。仅当这组集合是按照某种定义排序( `sort` )后,此操作才有意义。
返回指定字段在一组集合的第一条记录对应的值。仅当这组集合是按照某种定义排序( `sort` )后,此操作才有意义。
##### API 说明
......@@ -9519,7 +9519,7 @@ let res = await db
#### last
聚合操作符。返回指定字段在一组集合的最后一条记录对应的值。仅当这组集合是按照某种定义排序( `sort` )后,此操作才有意义。
返回指定字段在一组集合的最后一条记录对应的值。仅当这组集合是按照某种定义排序( `sort` )后,此操作才有意义。
##### API 说明
......@@ -9570,7 +9570,7 @@ let res = await db
#### max
聚合操作符。返回一组数值的最大值。
返回一组数值的最大值。
##### API 说明
......@@ -9622,7 +9622,7 @@ let res = await db
#### min
聚合操作符。返回一组数值的最小值。
返回一组数值的最小值。
##### API 说明
......@@ -9669,7 +9669,7 @@ let res = await db
#### push
聚合操作符。`group` 阶段,返回一组中表达式指定列与对应的值,一起组成的数组。
`group` 阶段,返回一组中表达式指定列与对应的值,一起组成的数组。
##### API 说明
......@@ -9721,7 +9721,7 @@ let res = await db
#### stdDevPop
聚合操作符。返回一组字段对应值的标准差。
返回一组字段对应值的标准差。
##### API 说明
......@@ -9766,7 +9766,7 @@ let res = await db.collection('students').aggregate()
#### stdDevSamp
聚合操作符。计算输入值的样本标准偏差。如果输入值代表数据总体,或者不概括更多的数据,请改用 `db.command.aggregate.stdDevPop`
计算输入值的样本标准偏差。如果输入值代表数据总体,或者不概括更多的数据,请改用 `db.command.aggregate.stdDevPop`
##### API 说明
......@@ -9815,7 +9815,7 @@ let res = await db.collection('students').aggregate()
#### sum
聚合操作符。计算并且返回一组字段所有数值的总和。
计算并且返回一组字段所有数值的总和。
##### API 说明
......@@ -9894,7 +9894,7 @@ let res = await db
#### let
聚合操作符。自定义变量,并且在指定表达式中使用,返回的结果是表达式的结果。
自定义变量,并且在指定表达式中使用,返回的结果是表达式的结果。
##### API 说明
......
......@@ -1346,7 +1346,7 @@ db.collection("department").get({
分组统计有groupBy和groupField。和传统sql略有不同,传统sql没有单独的groupField。
JQL的groupField里不能直接写field字段,只能使用[累计器操作符](uniCloud/clientdb.md?id=accumulator)来处理字段,常见的累积器计算符包括:count(*)、sum(字段名称)、avg(字段名称)。更多累计器操作符[详见](uniCloud/clientdb.md?id=accumulator)
JQL的groupField里不能直接写field字段,只能使用[分组运算方法](uniCloud/clientdb.md?id=accumulator)来处理字段,常见的累积器计算符包括:count(*)、sum(字段名称)、avg(字段名称)。更多分组运算方法[详见](uniCloud/clientdb.md?id=accumulator)
其中count(*)是固定写法。
......@@ -1414,7 +1414,7 @@ const res = await db.collection('table1').groupBy('field1,field2').groupField('s
groupBy内也可以使用数据库运算方法对数据进行处理,为方便书写,clientDB内将数据库运算方法的用法进行了简化(相对于云函数内使用数据库运算方法而言)。用法请参考:[数据库运算方法](uniCloud/clientdb.md?id=aggregate-operator)
groupField内可以使用累计器操作符对分组结果进行统计,所有可用的累计方法请参考[累计器操作符](uniCloud/clientdb.md?id=accumulator),下面以sum(求和)和avg(求均值)为例介绍如何使用
groupField内可以使用分组运算方法对分组结果进行统计,所有可用的累计方法请参考[分组运算方法](uniCloud/clientdb.md?id=accumulator),下面以sum(求和)和avg(求均值)为例介绍如何使用
使用sum方法可以对数据进行求和统计。以上述数据为例,如下写法对不同班级进行分数统计
......@@ -2558,6 +2558,8 @@ module.exports = {
## 可用数据库运算方法列表@aggregate-operator
**等同于mongoDB聚合操作符概念**
为方便书写,clientDB内将数据库运算方法的用法进行了简化(相对于云函数内使用数据库运算方法而言),主要是参数摊平。以下是可以在clientDB中使用的数据库运算方法
|操作符 |详细文档(云函数内用法) |JQL简化用法 |说明 |
......@@ -2707,9 +2709,11 @@ res = {
}
```
### 累计器操作符@accumulator
### 分组运算方法@accumulator
**等同于mongoDB累计器操作符概念**
累计器操作符一般用于统计汇总,一般在groupField内使用
分组运算方法一般用于统计汇总,一般在groupField内使用
|操作符 |详细文档 |用法 |说明 |
|--- |--- |--- |--- |
......
# uniCloud 更新日志
======================================
#### 2021-02-01
+ web控制台 新增 慢查询日志,有助于分析优化数据库性能
#### 2021-01-08
+ web控制台 新增 协作者可访问被授权的空间
+ web控制台 新增 云函数批量删除
......@@ -7,21 +10,6 @@
+ web控制台 新增 公共模块批量删除
+ web控制台 新增 action 批量删除
#### 2020-12-20
+ 【重要】调整 前端内置了`<unicloud-db>`组件,无需再人工引入插件市场的[clientDB组件插件](https://ext.dcloud.net.cn/plugin?id=3256) [规范](https://uniapp.dcloud.net.cn/uniCloud/unicloud-db)
+ 【重要】新增 uniCloud 本地服务。支持前端项目在控制台切换连接云环境还是本地服务。本地修改直接生效,不用上传即可联调 [详情](https://uniapp.dcloud.net.cn/uniCloud/quickstart?id=calllocalfunction)
+ 【重要】调整 uniCloud 项目目录结构调整。根目录下为uniCloud目录,其下有二级目录 cloudfunctions 和 database。database目录存放数据表schema和扩展验证函数。并提供了目录结构迁移向导 [详情](https://ask.dcloud.net.cn/article/38028)
+ 【重要】新增 HBuilderX 本地编写 DB Schema,即数据表的表结构。支持新建、上传、下载表结构,支持代码提示。
+ 【重要】新增 `<unicloud-db>`组件(即之前的clientDB组件)支持代码提示。可提示JQL语法,在本地有schema的情况下可提示数据库表名字段。大幅提升开发效率
+ 阿里云 前端网页托管 新增 支持http强制跳转https
+ HBuilderX 新增 编写 validateFunction,即数据库扩展校验函数。支持新建、上传、下载validateFunction
+ HBuilderX 优化 uniCloud 关联云服务空间的选择方式。并支持关联其它项目服务空间,实现多个项目连接一个服务空间 [详情](https://ask.dcloud.net.cn/article/37949)
+ HBuilderX 新增 可视化管理公共模块依赖 (对云函数点右键->管理公共模块依赖)
+ HBuilderX 优化 上传uni-id公共模块时,增加校验,对比配置密钥是否一致
+ HBuilderX 修复 云函数本地运行 控制台日志打印`null``undefined`值错误的Bug
+ HBuilderX 修复 前端网页托管 某些情况下,上传网站到服务器,控制台显示(0 MB)大于上传限制(0 MB)的Bug [详情](https://ask.dcloud.net.cn/question/111228)
+ uni-id 新增 App端一键登录 [详情](https://uniapp.dcloud.net.cn/uniCloud/uni-id?id=univerify)
#### 2020-12-10
+ web控制台 新增 阿里云新增稀疏索引 [详情](https://uniapp.dcloud.net.cn/uniCloud/hellodb?id=dbindex)
+ web控制台 新增 腾讯云云存储新增批量删除功能
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册