Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_16800119
unidocs-zh
提交
aee202e0
unidocs-zh
项目概览
qq_16800119
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录