十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
数据库事务操作对象

创新互联是一家专注于网站建设、做网站与策划设计,澜沧网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:澜沧等地区。澜沧做网站价格咨询:028-86922220
支持端:云函数
事务中获取集合的引用。方法接受一个 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 时可调用)