收藏
回答

小程序云数据库开发时如何将一个字段使用inc加1后返回值?

如果使用外部数据库很容易实现,只要往sql sever里添加一条记录,id自动加1,就能自动关联,现在我的需求和这个类似,假如我往云数据库里添加了一条记录,我希望这条数据有一个简答的数字id与之绑定,使用现有的api就是使用云函数里写

// 云函数入口文件

const cloud = require('wx-server-sdk')


cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

const db=cloud.database()

const _=db.command

// 云函数入口函数

exports.main = async (event, context) => {

  const wxContext = cloud.getWXContext()

  return await db.collection('user')

  .where({

    _id:3

  })

  .update({

    data:{

      code:_.inc(1)

    }

  }).then(res=>{

      return {

        code:1,

        msg:res

      }

  }).catch(err=>{

      return{

        code:2,

        msg:err

      }

  })

  

}

这里code实现了加1,但是我想马上获取这次操作后code的值,请问各位大神有什么办法吗?假定同时有多个人触发了这个inc操作,我希望每个人都能获取自己操作inc后的code值,类似餐馆的点餐,好让大家都能获取一个排队号码?难道餐馆类的app都是使用的外部的数据库,没人使用wx家的云数据库吗?!

回答关注问题邀请回答
收藏

3 个回答

  • showms
    showms
    2024-12-25

    这个api不会返回更新后的值。确实有些不太合理,要么就自己外层加个事务

    2024-12-25
    有用 1
    回复
  • 智能回答 智能回答 该问答由AI生成
    2024-12-25
    有用 1
  • 王亮
    王亮
    2024-12-25

    谢谢各位大佬,问题已解决,这个方案能解决我的需求

    2024-12-25
    有用
    回复
登录 后发表内容