如果使用外部数据库很容易实现,只要往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家的云数据库吗?!
这个api不会返回更新后的值。确实有些不太合理,要么就自己外层加个事务
谢谢各位大佬,问题已解决,这个方案能解决我的需求