Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
aee202e0
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3216
Star
106
Fork
815
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
aee202e0
编写于
2月 17, 2022
作者:
杨
杨春刚
提交者:
Gitee
2月 17, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs/uniCloud/cf-database.md.
文字错误,此处文字“求各个第一次考试的分数和和最后一次的分数:”,改为“将数组改为对象:”
上级
f3bbd68c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
63 addition
and
63 deletion
+63
-63
docs/uniCloud/cf-database.md
docs/uniCloud/cf-database.md
+63
-63
未找到文件。
docs/uniCloud/cf-database.md
浏览文件 @
aee202e0
...
...
@@ -2001,29 +2001,29 @@ db.collection('scores').aggregate()
-
聚合操作实例仅用于查询,不可执行增删改操作。在聚合操作实例上只能使用聚合操作方法,不能使用where/orderBy等基础方法,where需改为match,orderBy应使用sort实现,细节请阅读下方聚合操作文档。
-
聚合操作在大数据量下性能不如简单查询,请根据自身业务选择合适的用法
云函数中使用时切勿复用aggregate实例,容易引发Bug。
云函数中使用时切勿复用aggregate实例,容易引发Bug。
以下两种写法均为错误示例:
```
js
const
db
=
uniCloud
.
database
()
const
collection
=
db
.
collection
(
'
test
'
)
const
aggregate
=
collection
.
aggregate
()
// 云函数实例复用时,此聚合实例也会复用,导致Bug
exports
.
main
=
async
function
(){
const
res
=
await
aggregate
.
match
({
a
:
1
}).
end
()
return
{
res
}
}
```
```
js
const
db
=
uniCloud
.
database
()
const
collection
=
db
.
collection
(
'
test
'
)
exports
.
main
=
async
function
(){
const
aggregate
=
collection
.
aggregate
()
// 此聚合实例分别在两个请求内使用,导致Bug
const
res1
=
await
aggregate
.
match
({
a
:
1
}).
end
()
const
res2
=
await
aggregate
.
match
({
a
:
2
}).
end
()
return
{
res1
,
res2
}
}
```
js
const
db
=
uniCloud
.
database
()
const
collection
=
db
.
collection
(
'
test
'
)
const
aggregate
=
collection
.
aggregate
()
// 云函数实例复用时,此聚合实例也会复用,导致Bug
exports
.
main
=
async
function
(){
const
res
=
await
aggregate
.
match
({
a
:
1
}).
end
()
return
{
res
}
}
```
```
js
const
db
=
uniCloud
.
database
()
const
collection
=
db
.
collection
(
'
test
'
)
exports
.
main
=
async
function
(){
const
aggregate
=
collection
.
aggregate
()
// 此聚合实例分别在两个请求内使用,导致Bug
const
res1
=
await
aggregate
.
match
({
a
:
1
}).
end
()
const
res2
=
await
aggregate
.
match
({
a
:
2
}).
end
()
return
{
res1
,
res2
}
}
```
### 聚合表达式@aggregate-expression
...
...
@@ -3396,34 +3396,34 @@ let res = await db.collection('orders').aggregate()
如需orders关联books,book再关联authors查询,可以在pipeline内再使用lookup
```
js
const
db
=
cloud
.
database
()
const
$
=
db
.
command
.
aggregate
let
res
=
await
db
.
collection
(
'
orders
'
).
aggregate
()
.
lookup
({
from
:
'
books
'
,
let
:
{
book_id
:
'
$book
'
},
pipeline
:
$
.
pipeline
()
.
match
(
$
.
expr
(
$
.
eq
([
'
$_id
'
,
'
$$book_id
'
]))
)
.
lookup
({
from
:
'
authors
'
,
let
:
{
author_id
:
'
$author
'
},
pipeline
:
$
.
pipeline
()
.
match
(
$
.
expr
(
$
.
eq
([
'
$_id
'
,
'
$$author_id
'
]))
)
.
done
(),
as
:
'
authorList
'
})
.
done
(),
as
:
'
bookList
'
,
})
.
end
()
const
db
=
cloud
.
database
()
const
$
=
db
.
command
.
aggregate
let
res
=
await
db
.
collection
(
'
orders
'
).
aggregate
()
.
lookup
({
from
:
'
books
'
,
let
:
{
book_id
:
'
$book
'
},
pipeline
:
$
.
pipeline
()
.
match
(
$
.
expr
(
$
.
eq
([
'
$_id
'
,
'
$$book_id
'
]))
)
.
lookup
({
from
:
'
authors
'
,
let
:
{
author_id
:
'
$author
'
},
pipeline
:
$
.
pipeline
()
.
match
(
$
.
expr
(
$
.
eq
([
'
$_id
'
,
'
$$author_id
'
]))
)
.
done
(),
as
:
'
authorList
'
})
.
done
(),
as
:
'
bookList
'
,
})
.
end
()
```
...
...
@@ -5312,9 +5312,9 @@ let res = await db.collection('todos').doc('doc-id').update({
#### abs
<!--
/// meta
keyword: abs,绝对值
<!--
/// meta
keyword: abs,绝对值
-->
返回一个数字的绝对值。
...
...
@@ -5366,9 +5366,9 @@ let res = await db.collection('ratings').aggregate()
#### add
<!--
/// meta
keyword: 相加,add,日期
<!--
/// meta
keyword: 相加,add,日期
-->
将数字相加或将数字加在日期上。如果数组中的其中一个值是日期,那么其他值将被视为毫秒数加在该日期上。
...
...
@@ -6077,7 +6077,7 @@ db.command.aggregate.arrayToObject([
{
"
_id
"
:
2
,
"
sales
"
:
[
[
"
max
"
,
70
],
[
"
min
"
,
60
]
]
}
{
"
_id
"
:
3
,
"
sales
"
:
[
{
"
k
"
:
"
max
"
,
"
v
"
:
50
},
{
"
k
"
:
"
min
"
,
"
v
"
:
30
}
]
}
```
求各个第一次考试的分数和和最后一次的分数
:
将数组转换为对象
:
```
js
...
...
@@ -9536,9 +9536,9 @@ let res = await db
#### avg
<!--
/// meta
keyword: 均值
<!--
/// meta
keyword: 均值
-->
返回一组集合中,指定字段对应数据的平均值。
...
...
@@ -9934,9 +9934,9 @@ let res = await db.collection('students').aggregate()
#### sum
<!--
/// meta
keyword: 求和
<!--
/// meta
keyword: 求和
-->
计算并且返回一组字段所有数值的总和。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录