這篇文章主要爲大家詳細介紹了微信小程序雲開發實現雲數據庫讀寫權限,具有一定的參考價值,感興趣的小夥伴們可以參考一下
一、問題場景
在做圖片點贊、查看量的時候,非管理員給非自己上傳(創建)的圖片點贊,更新數據失敗,失敗原因是沒有修改數據權限
二、問題描述
雲數據庫中的讀寫權限是有嚴格規定的
非管理員非創建者,沒辦法寫入數據(更新數據)
三、詳細解決辦法
使用雲函數更新數據
剛開始還是不怎麼了解雲函數,只用自動生成的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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。