管理数据库

最近更新时间:2019-05-09 16:36:41

操作场景

本文档主要介绍如何在控制台中创建数据库集合、向集合上插入数据、以及查看插入的数据。

操作步骤

创建第一个集合

  1. 打开控制台,选择 "数据库" 标签页,通过 "添加集合" 入口创建一个集合。
  2. 假设我们要创建一个待办事项小程序,我们创建一个名为 todos 的集合。
  3. 创建成功后,您可以看到 todos 集合管理界面,您可以在界面中添加记录、查找记录、管理索引和管理权限。
    • 小程序云开发控制台
      小程序云开发控制台界面
    • 腾讯云云开发控制台
      管理数据库

创建第一条记录

  1. 控制台提供了可视化添加数据的交互界面,单击【添加记录】,添加我们的第一条待办事项。示例代码如下:
    {
    // 描述,String 类型
    "description": "learn mini-program cloud service",
    // 截止时间,Date 类型
    "due": Date("2018-09-01"),
    // 标签,Array 类型
    "tags": [
     "tech",
     "mini-program",
     "cloud"
    ],
    // 个性化样式,Object 类型
    "style": {
     "color": "red"
    },
    // 是否已完成,Boolean 类型
    "done": false
    }
  2. 添加完成后可在控制台中查看到刚添加的数据。

权限控制

数据库的权限分为客户端和管理端,客户端包括小程序和web端,管理端包括云函数端和控制台。客户端读写数据库受权限控制限制,管理端拥有所有读写数据库的权限。云控制台的权限同管理端,拥有所有权限。客户端操作数据库应有严格的安全规则限制。

初期我们对操作数据库开放以下几种权限配置,每个集合可以拥有一种权限配置,权限配置的规则是作用在集合的每个记录上的。出于易用性和安全性的考虑,在客户端创建的每个数据库记录都会带有该记录创建者(即小程序或网站用户)的信息,以 _openid 字段保存用户的 openid 在每个相应用户创建的记录中。其中,小程序端_openid为微信公众平台openid,网站端则为cloudBase生成的用户唯一ID。因此,权限控制也相应围绕着一个用户是否应该拥有权限操作其他用户创建的数据展开。

以下按照权限级别从宽到紧排列如下:

  • 仅创建者可写,所有人可读:数据只有创建者可写、所有人可读;比如文章。
  • 仅创建者可读写:数据只有创建者可读写,其他用户不可读写;比如用私密相册。
  • 仅管理端可写,所有人可读:该数据只有管理端可写,所有人可读;如商品信息。
  • 仅管理端可读写:该数据只有管理端可读写;如后台用的不暴露的数据。

管理端始终拥有读写所有数据的权限,客户端始终不能写他人创建的数据,客户端的记录的读写权限其实分为了 “所有人可读,只有创建者可写“、”仅创建者可读写“、”所有人可读,仅管理端可写“、”所有人不可读,仅管理端可读写“。

对一个用户来说,不同模式在客户端和管理端的权限表现如下:

客户端 客户端 客户端 客户端 管理端
权限 读自己创建的数据 写自己创建的数据 读他人创建的数据 写他人创建的数据 读写任意数据
仅创建者可写,所有人可读 ×
仅创建者可读写 × ×
仅管理端可写,所有人可读 × ×
仅管理端可读写:该数据只有管理端可读写 × × × ×