您好,登錄后才能下訂單哦!
一、問題場景
在做圖片點贊、查看量的時候,非管理員給非自己上傳(創建)的圖片點贊,更新數據失敗,失敗原因是沒有修改數據權限
二、問題描述
云數據庫中的讀寫權限是有嚴格規定的
非管理員非創建者,沒辦法寫入數據(更新數據)
三、詳細解決辦法
使用云函數更新數據
剛開始還是不怎么了解云函數,只用自動生成的login 來獲取openid,并不知道其他用法,看了好久才明白
1、在開發者工具上新建node.js云函數
2、上代碼
這是云函數index.js 內容
// 云函數入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database(); // 云函數入口函數 exports.main = async (event, context) => { try{ return await db.collection("image").doc(event._id).update({ data:{ praise: event.dianza } }) }catch(e){ console.error(e) } }
這是調用云函數js
wx.cloud.callFunction({ name: '你新建的云函數名字', data:{ _id: obj._id, dianza: dianza }, success: res => { console.log('更新數據成功') } })
obj._id 就是當前數據的 id
我的點贊邏輯是把當前用戶openid 添加到dianza數組中
3、上傳并部署(最好安裝云端依賴)
安裝本地依賴是在當前云函數的文件夾下運行 npm install --save wx-server-sdk@latest
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。