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


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 遍历对象的属性的代码
Dec 29 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
javascript强制点击广告的方法
Feb 06 Javascript
BootstrapValidator超详细教程(推荐)
Dec 07 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 Javascript
ES6中箭头函数的定义与调用方式详解
Jun 02 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
Jun 28 Javascript
JS判断微信扫码的方法
Aug 07 Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 Javascript
react-router4按需加载(踩坑填坑)
Jan 06 Javascript
微信小程序云函数使用mysql数据库过程详解
Aug 07 Javascript
ES6基础之数组和对象的拓展实例详解
Aug 22 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
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
PHP实现克鲁斯卡尔算法实例解析
2014/08/22 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
2012/12/21 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
Bootstrap 网站实例之单页营销网站
2016/10/20 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python如何制作缩略图
2019/04/30 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
鲜花方阵解说词
2014/02/13 职场文书
意向协议书范本
2014/04/23 职场文书
护士感人事迹
2014/05/01 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
食品安全宣传标语
2014/06/07 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
校运会加油稿大全
2015/07/22 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
python爬虫框架feapde的使用简介
2021/04/20 Python
nginx+lua单机上万并发的实现
2021/05/31 Servers
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js