阅读(2694) (15)

QQ小程序 数据库上手

2020-07-09 14:19:19 更新

这一节我们将介绍如何在控制台中创建我们的第一个数据库集合、往集合上插入数据、以及在控制台中查看刚刚插入的数据。

创建第一个集合

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

创建第一条记录

控制台提供了可视化添加数据的交互界面,点击 "添加记录" 添加我们的第一条待办事项:

{
  // 描述,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
}

导入数据

云控制台支持上传文件导入已有的数据。

文件格式

JSON、CSV 文件必须是 UTF-8 的编码格式,且其内容类似 MongoDB 的导出格式,例如:

JSON:
{
    "_id": "xxxxxx",
    "age": 45
}

CSV:

_id,age
xxxxxx,45
yyyyyy,21

需要注意以下几点:

  1. JSON 数据不是数组,而是类似 JSON Lines,即各个记录对象之间使用 \n 分隔,而非逗号;

  1. JSON 数据每个键值对的键名首尾不能是 .,例如 ".a"、"abc.",且不能包含多个连续的 .,例如 "a..b";

  1. 键名不能重复,且不能有歧义,例如 {"a": 1, "a": 2} 或 {"a": {"b": 1}, "a.b": 2};

  1. 时间格式须为 ISODate 格式,例如 "date": { "$date" : "2018-08-31T17:30:00.882Z" };

  1. 当使用 Insert 冲突处理模式时,同一文件不能存在重复的 _id 字段,或与数据库已有记录相同的 _id 字段;

  1. CSV 格式的数据默认以第一行作为导入后的所有键名,余下的每一行则是与首行键名一一对应的键值记录。

目前提供了 Insert、Upsert 两种冲突处理模式。Insert 模式会在导入时总是插入新记录,Upsert 则会判断有无该条记录,如果有则更新记录,否则就插入一条新记录。 导入完成后,可以在提示信息中看到本次导入记录的情况。