数据库事务操作对象
支持端:云函数
事务中获取集合的引用。方法接受一个 name 参数,指定需引用的集合名称。
集合名称
集合引用
在事务中仅能进行单记录操作,也就是不能使用 where、aggregate 接口,可以使用的接口如下:
collection 获取集合引用
|-- add 新增记录
|-- doc 获取记录引用
|-- get 获取记录内容
|-- update 更新记录内容
|-- set 替换记录内容
|-- remove 删除记录
支持端:云函数
终止并回滚事务
终止后,希望在 runTransaction 返回的 Promise reject 时接收到的值。
终止完成
const cloud = require("wx-server-sdk")
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database({
throwOnNotFound: false,
})
const _ = db.command
try {
const result = await db.runTransaction(async transaction => {
const aaaRes = await transaction.collection("account").doc("aaa").get()
// ...
// 终止事务
await transaction.rollback(-100)
})
} catch (e) {
// e === -100
console.error(`transaction error`, e)
}
支持端:云函数
提交事务
终止后,希望在 runTransaction 返回的 Promise reject 时接收到的值。
提交完成
const cloud = require("wx-server-sdk")
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database({
throwOnNotFound: false,
})
const _ = db.command
exports.main = async (event) => {
try {
const transaction = await db.startTransaction()
// ...
await transaction.collection("account").doc("aaa").update({
data: {
amount: 100
}
})
// 提交事务
await transaction.commit()
return {
success: true,
}
} catch (e) {
console.error(`transaction error`, e)
return {
success: false,
error: e,
}
}
}
transaction
|-- collection 获取集合引用
| |-- doc 获取记录引用
| | |-- get 获取记录内容
| | |-- update 更新记录内容
| | |-- set 替换记录内容
| | |-- remove 删除记录
| |-- add 新增记录
|-- rollback 终止事务并回滚
|-- commit 提交事务(仅在使用 startTransaction 时可调用)
AggregateCommand.mergeObjects(value:Expressiondocument): Object支持端:小程序 2.7.4,云函数 0.8.1,Web聚合操作符。将多个文...
config 是一个包含了 Vue 应用全局配置的对象。你可以在应用挂载前修改其以下 property:const app = Vue.createApp({})app.conf...
#componentProps:is - string | Component用法:渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染。is 的值是...
本节代码示例使用单文件组件的语法本指南假定你已经阅读了组合式 API 简介和响应性基础。如果你不熟悉组合式 API,请先阅读此文...