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


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 相关文章推荐
关于onScroll事件在IE6下每次滚动触发三次bug说明
Sep 21 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
JavaScript淡入淡出渐变简单实例
Aug 06 Javascript
基于jquery实现表格无刷新分页
Jan 07 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
vue.js实现含搜索的多种复选框(附源码)
Mar 23 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
Vue的路由动态重定向和导航守卫实例
Mar 17 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
Apr 27 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 魔术函数使用说明
2010/05/14 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
Python中print和return的作用及区别解析
2019/05/05 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
python并发编程多进程 互斥锁原理解析
2019/08/20 Python
8种常用的Python工具
2020/08/05 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
十佳大学生事迹材料
2014/01/29 职场文书
校园安全教育广播稿
2014/02/17 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
国庆节新闻稿
2015/07/17 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python