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


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基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
Aug 05 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
Dec 27 Javascript
jQuery关键词说明插件cluetip使用指南
Apr 21 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 Javascript
高性能JavaScript DOM编程(1)
Aug 11 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
Javascript实现跑马灯效果的简单实例
May 31 Javascript
jQuery使用deferreds串行多个ajax请求
Aug 22 Javascript
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
详解基于vue-cli配置移动端自适应
Jan 13 Javascript
Vue源码解读之Component组件注册的实现
Aug 24 Javascript
Vue中图片Src使用变量的方法
Oct 30 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文本操作类
2006/11/25 PHP
基于php 随机数的深入理解
2013/06/05 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
js实现无缝轮播图
2020/03/09 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
Python多线程的退出控制实现
2020/08/10 Python
Champion官网:美国冠军运动服装
2017/01/25 全球购物
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
大二法学专业职业生涯规划范文
2014/02/12 职场文书
社会调查研究计划书
2014/05/01 职场文书
结婚典礼主持词
2015/06/29 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript