请问下,云函数中,不能对数据库进行操作吗?只能读取数据库?
会报这种错误
[云函数] [login] 获取 openid 失败,请检查是否有部署云函数,错误信息: Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message sum is not defined; at cloud.callFunction api
自己回答下吧。
做了几种尝试,结论是可以做add操作的,只是对结论还有不少疑问,请大家解答下。
“同步”操作add方法,结果,无法插入数据库。
add方法使用异步,await。结果,可插入数据。
最后疑问在于,使用await是可以进行插入操作,但是不知道怎样才能在数据库操作之后,才进行数据返回。如在success里面进行return,前端哪里是会报错的。
1、有没有创建云函数啊
onGetOpenid: function () { // 调用云函数 wx.cloud.callFunction({ name: 'login' , data: {}, success: res => { console.log( '[云函数] [login] user openid: ' , res.result.openid) app.globalData.openid = res.result.openid wx.navigateTo({ url: '../userConsole/userConsole' , }) }, fail: err => { console.error( '[云函数] [login] 调用失败' , err) wx.navigateTo({ url: '../deployFunctions/deployFunctions' , }) } }) }, |
2、对云数据库数据可以增删改查操作的,首先你有没有创建counters这个集合啊
新增数据
onAdd: function () { const db = wx.cloud.database() db.collection( 'counters' ).add({ data: { count: 3 }, success: res => { // 在返回结果中会包含新创建的记录的 _id console.log(res); this .setData({ counterId: res._id, count: 3 }) wx.showToast({ title: '新增记录成功' , }) console.log( '[数据库] [新增记录] 成功,记录 _id: ' , res._id) }, fail: err => { wx.showToast({ icon: 'none' , title: '新增记录失败' }) console.error( '[数据库] [新增记录] 失败:' , err) } }) }, |