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