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


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 相关文章推荐
jQuery动画出现连续触发、滞后反复执行的解决方法
Jan 28 Javascript
jquery使用经验小结
May 20 Javascript
JavaScript中toString()方法的使用详解
Jun 05 Javascript
jQuery插件dataTables添加序号列的方法
Jul 06 Javascript
IntersectionObserver API 详解篇
Dec 11 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
Jan 23 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
Mar 07 Javascript
js自定义Tab选项卡效果
Jun 05 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
layui table数据修改的回显方法
Sep 04 Javascript
如何用JS实现网页瀑布流布局
Apr 24 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实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
Vue声明式渲染详解
2017/05/17 Javascript
vue.js组件vue-waterfall-easy实现瀑布流效果
2017/08/22 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
Python中__new__与__init__方法的区别详解
2015/05/04 Python
python实现整数的二进制循环移位
2019/03/08 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
python带参数打包exe及调用方式
2019/12/21 Python
python实例化对象的具体方法
2020/06/17 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
涉外经济法专业毕业生推荐信
2013/11/24 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
工程项目建议书范文
2014/03/12 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
教师工作能力自我评价
2015/03/04 职场文书
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server