云开发-修改其他微信号添加的数据

本来觉得弄个小项目,就不去用小程序的云函数功能了,直接使用小程序提供的函数去修改数据库的,但后面发现用自己的账号去修改别人发布的数据时(比如管理员想要置顶或删除别人的数据时),小程序端返回的是操作成功,但是我去数据库里发现数据没有变化,原来是小程序提供的数据库操作函数只能操作自己的数据(即该条数据的openId必须与你当前登录的openId相同),后面查阅资料后发现需要使用云函数才能修改其他openId的数据,也是很简单的。接下来就是详细的做法

首先,在云函数里新建一个云函数

新建云函数

然后,在你创建的云函数里面的index.js文件添加数据库操作函数

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

const db = cloud.database()

// 云函数入口函数
exports.main = async (event, context) => {  //event为等下在调用时带的数据,不能改
  try {
      //我这边用的是更新功能,也可以改成其他的操作
      return await db.collection("test").doc(event.id).update({
      data: event.data
    })
 
  } catch (e) {
    console.error(e)
  }
}

接下来就是最重要的一步,也是经常被忽略的一步,就是上传并部署该云函数(每次修改了云函数后都要上传)

上传并部署该云函数

接下来就是在js中使用该云函数

     wx.cloud.callFunction({
            name:'你命名的云函数文件名',
            data:{   //这里就是上面提到的event,你要传的数据都放在这里带过去
              id:_id,
              data:data
            },
            success:res=>{  //这里面写成功后的一些操作
            }
      })

完成!测试了一下,可以修改其他人的数据了

爱心发射biu.gif

你可能感兴趣的:(云开发-修改其他微信号添加的数据)