微信小程序云開發(fā)實現(xiàn)云數(shù)據(jù)庫讀寫權限
一、問題場景
在做圖片點贊、查看量的時候,非管理員給非自己上傳(創(chuàng)建)的圖片點贊,更新數(shù)據(jù)失敗,失敗原因是沒有修改數(shù)據(jù)權限
二、問題描述
云數(shù)據(jù)庫中的讀寫權限是有嚴格規(guī)定的
非管理員非創(chuàng)建者,沒辦法寫入數(shù)據(jù)(更新數(shù)據(jù))

三、詳細解決辦法
使用云函數(shù)更新數(shù)據(jù)
剛開始還是不怎么了解云函數(shù),只用自動生成的login 來獲取openid,并不知道其他用法,看了好久才明白
1、在開發(fā)者工具上新建node.js云函數(shù)
2、上代碼
這是云函數(shù)index.js 內(nèi)容
// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
try{
return await db.collection("image").doc(event._id).update({
data:{
praise: event.dianza
}
})
}catch(e){
console.error(e)
}
}
這是調(diào)用云函數(shù)js
wx.cloud.callFunction({
name: '你新建的云函數(shù)名字',
data:{
_id: obj._id,
dianza: dianza
},
success: res => {
console.log('更新數(shù)據(jù)成功')
}
})
obj._id 就是當前數(shù)據(jù)的 id
我的點贊邏輯是把當前用戶openid 添加到dianza數(shù)組中
3、上傳并部署(最好安裝云端依賴)
安裝本地依賴是在當前云函數(shù)的文件夾下運行 npm install --save wx-server-sdk@latest
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
javascript筆試題目附答案@20081025_jb51.net
網(wǎng)上找的javascript筆試題目,留檔給自己作參考。2008-10-10
JavaScript蒙板(model)功能的簡單實現(xiàn)代碼
本文給大家介紹JavaScript蒙板(model)功能的簡單實現(xiàn)代碼,創(chuàng)建一個蒙板, 設置蒙板的堆疊順序保證能將其它元素蓋住,感興趣的朋友可以參考下實現(xiàn)代碼2016-08-08
JavaScript使用replace函數(shù)替換字符串的方法
這篇文章主要介紹了JavaScript使用replace函數(shù)替換字符串的方法,涉及javascript中replace函數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
JavaScript 程序錯誤Cannot use ''in'' operator to search的解決方法
下面小編就為大家?guī)硪黄狫avaScript 程序錯誤Cannot use 'in' operator to search的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
mockjs,json-server一起搭建前端通用的數(shù)據(jù)模擬框架教程
下面小編就為大家分享一篇mockjs,json-server一起搭建前端通用的數(shù)據(jù)模擬框架教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12

