举报投诉联系我们 手机版 热门标签 鳄鱼CMS
您的位置:鳄鱼CMS > sdk数据库是什么 SDK数据库 Transaction

sdk数据库是什么 SDK数据库 Transaction

2023-05-08 01:31

sdk数据库是什么 SDK数据库 Transaction

sdk数据库是什么 SDK数据库 Transaction

sdk数据库是什么

Transaction

数据库事务操作对象


方法:

Transaction.collection(name: string): Collection

支持端:云函数

事务中获取集合的引用。方法接受一个 name 参数,指定需引用的集合名称。

参数

name: string

集合名称

返回值

Collection

集合引用

注意事项

在事务中仅能进行单记录操作,也就是不能使用 where、aggregate 接口,可以使用的接口如下:

collection       获取集合引用
|-- add          新增记录
|-- doc          获取记录引用
    |-- get      获取记录内容
    |-- update   更新记录内容
    |-- set      替换记录内容
    |-- remove   删除记录



Transaction.rollback(reason: any): Promise<void>

支持端:云函数

终止并回滚事务

参数

reason: any

终止后,希望在 runTransaction 返回的 Promise reject 时接收到的值。

返回值

Promise.<void>

终止完成

示例代码

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)
}


Transaction.commit(reason: any): Promise<void>

支持端:云函数

提交事务

参数

reason: any

终止后,希望在 runTransaction 返回的 Promise reject 时接收到的值。

返回值

Promise.<void>

提交完成

示例代码

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,
    }
  }
}

API 列表:

transaction
|-- collection       获取集合引用
|   |-- doc          获取记录引用
|   |   |-- get      获取记录内容
|   |   |-- update   更新记录内容
|   |   |-- set      替换记录内容
|   |   |-- remove   删除记录
|   |-- add          新增记录
|-- rollback         终止事务并回滚
|-- commit           提交事务(仅在使用 startTransaction 时可调用)


阅读全文
以上是鳄鱼CMS为你收集整理的sdk数据库是什么 SDK数据库 Transaction全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 鳄鱼CMS eyucms.com 版权所有 联系我们