Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wychl
uni-app
提交
ba7eae8f
U
uni-app
项目概览
wychl
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ba7eae8f
编写于
8月 24, 2020
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: uniCloud db
上级
17bb3cd2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
14 deletion
+15
-14
docs/uniCloud/cf-database.md
docs/uniCloud/cf-database.md
+15
-14
未找到文件。
docs/uniCloud/cf-database.md
浏览文件 @
ba7eae8f
...
...
@@ -1536,7 +1536,7 @@ db.runTransaction(callback: function, times: number)
```
javascript
const
db
=
uniCloud
.
database
()
const
_
=
db
.
command
const
dbCmd
=
db
.
command
exports
.
main
=
async
(
event
)
=>
{
try
{
const
result
=
await
db
.
runTransaction
(
async
transaction
=>
{
...
...
@@ -1546,11 +1546,11 @@ exports.main = async (event) => {
if
(
aaaRes
.
data
&&
bbbRes
.
data
)
{
try
{
const
updateAAARes
=
await
transaction
.
collection
(
'
account
'
).
doc
(
'
aaa
'
).
update
({
amount
:
_
.
inc
(
-
10
)
amount
:
dbCmd
.
inc
(
-
10
)
})
const
updateBBBRes
=
await
transaction
.
collection
(
'
account
'
).
doc
(
'
bbb
'
).
update
({
amount
:
_
.
inc
(
10
)
amount
:
dbCmd
.
inc
(
10
)
})
console
.
log
(
`transaction succeeded`
)
...
...
@@ -1609,7 +1609,7 @@ db.startTransaction()
```
javascript
const
db
=
uniCloud
.
database
()
const
_
=
db
.
command
const
dbCmd
=
db
.
command
exports
.
main
=
async
(
event
)
=>
{
const
transaction
=
await
db
.
startTransaction
()
...
...
@@ -1620,11 +1620,11 @@ exports.main = async (event) => {
if
(
aaaRes
.
data
&&
bbbRes
.
data
)
{
const
updateAAARes
=
await
transaction
.
collection
(
'
account
'
).
doc
(
'
aaa
'
).
update
({
amount
:
_
.
inc
(
-
10
)
amount
:
dbCmd
.
inc
(
-
10
)
})
const
updateBBBRes
=
await
transaction
.
collection
(
'
account
'
).
doc
(
'
bbb
'
).
update
({
amount
:
_
.
inc
(
10
)
amount
:
dbCmd
.
inc
(
10
)
})
await
transaction
.
commit
()
...
...
@@ -2837,8 +2837,9 @@ let res = await db.collection('orders').aggregate()
-
orders 的 book 字段与 books 的 title 字段相等
-
books 的 stock 字段 大于或等于 orders 的 quantityorders 字段
```
js
const
db
=
cloud
.
database
()
const
$
=
db
.
command
.
aggregate
const
db
=
cloud
.
database
()
const
dbCmd
=
db
.
command
const
$
=
dbCmd
.
aggregate
let
res
=
await
db
.
collection
(
'
orders
'
).
aggregate
()
.
lookup
({
from
:
'
books
'
,
...
...
@@ -2847,7 +2848,7 @@ let res = await db.collection('orders').aggregate()
order_quantity
:
'
$quantity
'
},
pipeline
:
$
.
pipeline
()
.
match
(
_
.
expr
(
$
.
and
([
.
match
(
dbCmd
.
expr
(
$
.
and
([
$
.
eq
([
'
$title
'
,
'
$$order_book
'
]),
$
.
gte
([
'
$stock
'
,
'
$$order_quantity
'
])
])))
...
...
@@ -2993,9 +2994,9 @@ match({
```
```
js
// 使用操作符
const
_
=
db
.
command
const
dbCmd
=
db
.
command
match
({
age
:
_
.
gt
(
18
)
age
:
dbCmd
.
gt
(
18
)
})
```
...
...
@@ -3035,12 +3036,12 @@ match 过滤出文档后,还可以与其他流水线阶段配合使用。
比如下面这个例子,我们使用 group 进行搭配,计算 score 字段大于 80 的文档数量:
```
js
const
_
=
db
.
command
const
$
=
_
.
aggregate
const
dbCmd
=
db
.
command
const
$
=
dbCmd
.
aggregate
let
res
=
await
db
.
collection
(
'
articles
'
)
.
aggregate
()
.
match
({
score
:
_
.
gt
(
80
)
score
:
dbCmd
.
gt
(
80
)
})
.
group
({
_id
:
null
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录