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


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实现分割提取页面所需内容
May 09 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
Mar 10 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
Feb 10 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
Feb 27 Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 Javascript
微信小程序提取公用函数到util.js及使用方法示例
Jan 10 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
JS实现移动端在线签协议功能
Aug 22 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
Dec 30 Javascript
JS实现秒杀倒计时特效
Jan 02 Javascript
Node.js API详解之 module模块用法实例分析
May 13 Javascript
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中几种常见的超时处理全面总结
2012/09/11 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
js中eval详解
2012/03/30 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
js中的闭包学习心得
2018/02/06 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
python二分法实现实例
2013/11/21 Python
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
Python 基础知识之字符串处理
2017/01/06 Python
使用matplotlib画散点图的方法
2018/05/25 Python
python实现屏保计时器的示例代码
2018/08/08 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
python实现单链表的方法示例
2019/09/03 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
台湾森森购物网:U-mall
2017/10/16 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
大学生毕业自我鉴定
2013/11/06 职场文书
护理学中专毕业生求职信
2013/11/11 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
车间质检员岗位职责
2015/04/08 职场文书
现货白银电话营销话术
2015/05/29 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
virtualenv隔离Python环境的问题解析
2022/06/21 Python