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


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表数据排序 sort table data
Feb 18 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
jQuery 操作option的实现代码
Mar 03 Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
vue中axios处理http发送请求的示例(Post和get)
Oct 13 Javascript
Vue组件通信的几种实现方法
Apr 25 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
Angular单元测试之事件触发的实现
Jan 20 Javascript
JavaScript实现页面高亮操作提示和蒙板
Jan 04 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抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
js实现的折叠导航示例
2013/11/29 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python中的一些陷阱与技巧小结
2015/07/10 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
Python正则表达式指南 推荐
2018/10/09 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
CSS3实现多背景模拟动态边框的效果
2016/11/08 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
公司股权转让协议书
2014/04/12 职场文书
迎新生欢迎词
2015/01/23 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
业务员岗位职责范本
2015/04/03 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
vue 实现上传组件
2021/05/31 Vue.js
Vue图片裁剪组件实例代码
2021/07/02 Vue.js
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL