小程序代码中无法直接修改他人创建的数据记录
例如:数据库表中的_openid字段是自动生成的,哪个用户创建的记录这个openid就是用户的openid,云数据库的权限分配也是根据openid来进行的。
解决方案:
第一步:创建云函数,在函数中编写修改数据库的操作代码
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
try {
return await db.collection('表名').doc('id字段').update({
// data 传入需要局部更新的数据
data: {
isHave: true
}
})
} catch (e) {
console.error(e)
}
}
提示:小程序传入云函数的参数在event中,使用方法:event.参数名称。
第二步:将云函数上传并部署到云
提示:右键创建的云函数--选择“上传并部署”
第三步:小程序调用该函数
wx.cloud.callFunction({
// 云函数名称
name: '云函数名称(即创建云函数时的名称)',
// 传给云函数的参数
data: {
a: 1
},
success: function (res) {
console.log(res)
},
fail: console.error
})
以上所述是小编给大家介绍的微信小程序云开发修改云数据库中的数据方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!