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


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 构造函数 面相对象学习必备知识
Jun 09 Javascript
JS基于Mootools实现的个性菜单效果代码
Oct 21 Javascript
省市联动效果的简单实现代码(推荐)
Jun 06 Javascript
JS定时器用法分析【时钟与菜单中的应用】
Dec 21 Javascript
js实现年月日表单三级联动
Apr 17 Javascript
基于zepto.js实现登录界面
Oct 09 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
JavaScript接口实现方法实例分析
May 16 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
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 实例化类的一点摘记
2008/03/23 PHP
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
js html实现计算器功能
2018/11/13 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
Node.js API详解之 util模块用法实例分析
2020/05/09 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
pandas实现to_sql将DataFrame保存到数据库中
2019/07/03 Python
python中栈的原理及实现方法示例
2019/11/27 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
深入了解Python enumerate和zip
2020/07/16 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
创建服务型党组织实施方案
2014/02/25 职场文书
公司离职证明标准样本
2014/10/05 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python