云数据库删除和修改数据
微信小程序云开发中提供数据库服务,一个云数据库可以有多个集合,可以把集合看作关系型数据库里面的表。
当你使用小程序端的数据库 API 添加数据时,如下图:
// 1. 获取数据库引用
const db = wx.cloud.database()
每条记录都会自动添加一个 _id 字段用以唯一标志一条记录、一个 _openid 字段用以标志记录的创建者,即小程序的用户。
云数据库的删除和修改权限也是根据_openid来分配的,云数据库不允许用户修改_openid不同的用户提交的数据,换句话说,当前用户只能删除和修改自己提交的数据,而不能删除和修改其他人提交的数据。
那么问题来了,如果我就想修改别人的数据呢?搬下板凳,前方高能。
在小程序的开发文档中有这么一段话:
在管理端(控制台和云函数)中创建的不会有 _openid 字段
醍醐灌顶啊,所以如果你创建的集合中有需要修改或者删除其他用户信息的需求,建议你在add、update和delete使用云函数。