微信小程序云开发之云数据库

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

云开发提供了一个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. 使用代码进行数据库操作,这里只写下增加和更新的示例


下面是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)
    })
  },

你可能感兴趣的:(前端爬坑之路,微信小程序)