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


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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
javascript中attachEvent用法实例分析
May 14 Javascript
JQuery遍历DOM节点的方法
Jun 11 Javascript
简介AngularJS中使用factory和service的方法
Jun 17 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
Jun 26 jQuery
微信小程序实战篇之购物车的实现代码示例
Nov 30 Javascript
原生JS实现瀑布流插件
Feb 06 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
php获取参数的几种方法总结
2014/02/18 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
js 事件小结 表格区别
2007/08/13 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
实现vuex原理的示例
2020/10/21 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
linux环境下Django的安装配置详解
2019/07/22 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
中医专业应届生求职信
2013/11/17 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
初一新生军训方案
2014/05/22 职场文书
村官个人总结范文
2015/03/03 职场文书
教师病假条范文
2015/08/17 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书