本篇讲述微信小程序云开发中的云数据库

云开发提供了一个JSON数据库(文档型数据库),提供2GB免费存储空间,这个JSON数据库不同于传统的关系型数据库。

传统的关系型数据库像我们的excel表格一样,是有行有列的,每一列表示一个字段,每一行表示一个数据。
而在文档型数据库当中,一个数据库可以包含多个集合。
文档型数据库中的集合相当于关系型数据库中的表,文档型数据库当中的每条数据我们可以将其称之为record/doc,在关系型数据库中是行row,文档型数据库当中每一个字段叫做field,而在关系型数据库当中每一列叫做column。

如果在项目开发过程中我们经常要查询各个表之间的关系的话,使用关系型数据库会比较适合,但是如果我们需要对数据进行频繁的读写操作的话,文档型数据库的效率会更高一些。

小程序云开发的数据库提供了以下几种数据类型:

  1. String:字符串
  2. Number:数字
  3. Object:对象
  4. Array:数组
  5. Bool:布尔值
  6. GeoPoint:地理位置点(这是一个特殊的数据存储类型,用经纬度标记一个点,如果我们需要使用这个字段进行地理位置的查找时,一定要建立地理位置的索引)
  7. Date:时间(精确到毫秒,小程序端创建的时间指的是客户端的时间,并不是服务端的时间)
  8. Null:相当于一个占位符,表示字段存在,但值为空

操作云数据的方式:

  • 小程序控制(有严格的安全规则的限制,读写数据库受权限控制限制)
  • 云函数控制(拥有所有读写数据库的权限)
  • 云开发可视化的控制台控制(拥有所有读写数据库的权限)

云数据库权限管理:

  • 仅创建者可写,所有人可读(适合于文章)
  • 仅创建者可读写(适用于私密相册或者是日记之类的)
  • 仅管理端可写(适合于商品信息)
  • 仅管理端可读写(适用于后台比较敏感的数据)

下面说一下如何通过代码来操作数据库:

  1. 数据库初始化
// 初始化
const db = wx.cloud.database()
// 使用云开发的时候,会有两个环境,如果我们想要切换不同环境下的数据库的时候,我们可以使用下面database中的env这个属性来进行切换
const testDB = wx.cloud.database({env: 'test'
})
  1. 使用代码进行数据库操作,这里只写下增加和更新的示例
<button size="mini" bindtap="insert">插入数据</button>
<button size="mini" bindtap="update">更新数据</button>

下面是js代码

  insert() {db.collection('user').add({data: {name: "hehe",age:22}}).then( res => {console.log(res)}).catch( err => {csonole.log(err)})},update() {db.collection('user').doc('90b4093b5d6497340a7a058104e03f56').update({data: {age: 21}}).then( res => {console.log(res)}).catch( err => {console.log(err)})},

微信小程序云开发之云数据库相关推荐

  1. 微信小程序图片无法存入云开发数据库,求解决

    微信小程序图片无法存入云开发数据库,求解决 上传图片的js代码片段 上传图片的js代码片段 上传图片的js代码片段,觉得自己代码的没错,也能打印出来上传的图片地址,但是发现并没有存进数据库,求大神指点 ...

  2. 【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏

    开始前,请先完成圆梦宝典中宫格导航的开发,详见 [微信小程序-原生开发]实用教程 07 - Grid 宫格导航,详情页,侧边导航(含自定义页面顶部导航文字) https://blog.csdn.net ...

  3. 【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)

    开始前,请先完成圆梦宝典中滚动公告栏的开发,详见 [微信小程序-原生开发]实用教程 08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据 ...

  4. 使用微信小程序云空间操作云数据库

    使用微信小程序云空间操作云数据库 在微信开发工具中有个云空间,想必大家在开发的过程中应该都已经看见了. 一番下一步下一步操作后我们就能够使用这个云空间了,这个时候就可以根据基础的控制面板进行功能上的选 ...

  5. 微信小程序——传统开发模式与云开发模式对比

    目  录 1.传统开发模式与云开发模式的对比图 2.云开发技术能力说明 3.云开发技术特点 1.传统开发模式与云开发模式的对比图 通过传统开发模式与云开发模式的对比图可以看出传统开发模式需要开发者关注 ...

  6. 微信小程序:全新独家云开发微群人脉

    今天给大家带来一款云开发版本的微群人脉小程序源码 该版本属于采集版本(群二维码自动采集) 该版本属于云开发版本(免服务器和域名) 这是一款不怕封小程序版本 PS:支持用户自主发布那一款还是有点危险因为 ...

  7. 微信小程序接入腾讯云IM即时通讯(获取聊天历史记录开发步骤)

    微信小程序接入腾讯云IM即时通讯(获取聊天历史记录开发步骤) 1.先看文档: 获取 C2C 历史消息 :https://cloud.tencent.com/document/product/269/1 ...

  8. 微信小程序开通腾讯云开发环境

    目录 微信小程序开通"腾讯云"开发环境 注册腾讯云账号 配置开发环境 微信小程序开通"腾讯云"开发环境 这里强调以下,标题是"腾讯云"开发环 ...

  9. 微信小程序应用开发赛作品综合开发记录——晋鹿文旅(云开发——概览)

    文章目录 前言 作品展示: 1.设计理念: 2.1.风景/人文历史 2.2.文物园 2.3.志愿者(暂未对接任何活动,仅测试) 2.4.英汉传译(考虑到可能在旅行中外国友人或者单纯就想翻译) 2.5. ...

  10. 微信小程序集成腾讯云 IM SDK

    1.背景 因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也就不支持 WebSocket了)不得 ...

最新文章

  1. C++的字符串分割函数
  2. STM32位带操作实现过程解析
  3. 日志审计携手DDoS防护助力云上安全
  4. python面试题(5)--- 检测 字符串 是否可以转换成 数字
  5. lambda 两个list获取交集_《Java8 实战》笔记 - Lambda 表达式
  6. 教师计算机专业知识考试试题及答案,信息技术学科教师基本功测试题及答案
  7. 使用数据库镜像保障高可用的数据库应用(下)
  8. 数据结构与算法汇总详解(一)
  9. Docker 更新版本
  10. 大一计算机文化基础复习资料,转 大一计算机文化基础试题及答案
  11. R语言学习笔记四:秩和检验
  12. 基于javaweb+jsp房屋租赁系统(java+SSM+jsp+mysql+maven)
  13. 系统架构演变到Spring Cloud
  14. linux 使用 tmux 运行后台程序
  15. 学大数据要学哪些算法_大数据专业是学什么?
  16. 树莓派4b搭建个人云_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置
  17. 操作系统基础知识用户态和内核态的区别
  18. 微信群高效轻松拉人进群,轻松每日爆粉
  19. 《ANSYS CFX 14.0超级学习手册》——1.4 CFD软件结构及常用的CFD软件
  20. 计算机网络考研面试题

热门文章

  1. 人工神经网络在肺结核诊断中应用的研究进展
  2. LaMDA 不可能觉醒吗?
  3. skyeye linux qt,Ubuntu 16.04上安装SkyEye及测试
  4. 卷积神经网络膨胀卷积
  5. 开放式运动耳机排行榜,排行靠前的五款高性能耳机分享
  6. 树莓派4B WIFI 物理网口设置固定IP方法
  7. Excel如何批量修改工作表名称
  8. TIKTOK视频:搬运视频技巧的这几点你知道吗?
  9. 抖音搬运视频如何伪原创
  10. 【2020省选模拟】题解