如何通过微信小程序云开发精准修改特定云数据库记录?
- 内容介绍
- 文章标签
- 相关推荐
本文共计518个文字,预计阅读时间需要3分钟。
在小程序代码中,无法直接修改他人创建的数据记录。例如,数据库表中的`openid`字段通常是自动生成的,代表哪个用户创建的记录,这个`openid`就是用户的唯一标识。因此,只有拥有相应权限的用户才能操作自己创建的记录。云数据库的权限分配也是基于`openid`的,操作权限根据`openid`来划分。
小程序代码中无法直接修改他人创建的数据记录
例如:数据库表中的_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.参数名称。
本文共计518个文字,预计阅读时间需要3分钟。
在小程序代码中,无法直接修改他人创建的数据记录。例如,数据库表中的`openid`字段通常是自动生成的,代表哪个用户创建的记录,这个`openid`就是用户的唯一标识。因此,只有拥有相应权限的用户才能操作自己创建的记录。云数据库的权限分配也是基于`openid`的,操作权限根据`openid`来划分。
小程序代码中无法直接修改他人创建的数据记录
例如:数据库表中的_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.参数名称。

