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


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 相关文章推荐
动态表格Table类的实现
Aug 26 Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
Sep 15 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
高效利用Angular中内置服务$http、$location等
Mar 22 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
jQuery Validate验证框架详解(推荐)
Dec 17 Javascript
js+html制作简单验证码
Feb 16 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
vue.js删除动态绑定的radio的指定项
Jun 02 Javascript
JavaScript 处理树数据结构的方法示例
Jun 16 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 飞信好友免费短信API接口开源版
2010/07/22 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
使用php清除bom示例
2014/03/03 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
js下拉菜单语言选项简单实现
2013/09/23 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
深入理解vue $refs的基本用法
2017/07/13 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
python 日志增量抓取实现方法
2018/04/28 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Python多线程的退出控制实现
2020/08/10 Python
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
人事专员职责
2014/02/22 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
关爱残疾人标语
2014/06/25 职场文书
法制演讲稿
2014/09/10 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers