微信小程序云开发实现云数据库读写权限


Posted in Javascript onMay 17, 2019

一、问题场景

在做图片点赞、查看量的时候,非管理员给非自己上传(创建)的图片点赞,更新数据失败,失败原因是没有修改数据权限

二、问题描述

云数据库中的读写权限是有严格规定的
非管理员非创建者,没办法写入数据(更新数据)

微信小程序云开发实现云数据库读写权限

三、详细解决办法

使用云函数更新数据

刚开始还是不怎么了解云函数,只用自动生成的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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript代码编写需要注意的7个小细节小结
Sep 21 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
Aug 21 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
Jan 19 Javascript
JS去除空格和换行的正则表达式(推荐)
Jun 14 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
Aug 19 Javascript
Angular ng-repeat 对象和数组遍历实例
Sep 14 Javascript
使用jquery datatable和bootsrap创建表格实例代码
Mar 17 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
浅谈super-vuex使用体验
Jun 25 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
js取0-9随机取4个数不重复的数字代码实例
Mar 27 Javascript
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
May 17 #Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 #Javascript
js常用正则表达式集锦
May 17 #Javascript
Angular请求防抖处理第一次请求失效问题
May 17 #Javascript
vue cli 3.0 搭建项目的图文教程
May 17 #Javascript
小程序云开发如何实现图片上传及发表文字
May 17 #Javascript
tsconfig.json配置详解
May 17 #Javascript
You might like
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
javascript call方法使用说明
2010/01/11 Javascript
jquery图片放大镜功能的实例代码
2013/03/26 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
2019/01/27 jQuery
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
python实现抖音视频批量下载
2018/06/20 Python
利用python实现在微信群刷屏的方法
2019/02/21 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
python 操作hive pyhs2方式
2019/12/21 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
标记环介质访问控制协议
2016/03/27 面试题
店长职务说明书
2014/02/04 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
简短清晨问候语
2015/11/10 职场文书
python中的sys模块和os模块
2022/03/20 Python
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技