数据库导入 ========== 云开发控制台支持从文件导入已有的数据。目前仅支持导入 CSV、JSON 格式的文件数据。 要导入数据,需打开云开发控制台,切换到 “数据库” 标签页,并选择要导入数据的集合,点击 “导入” 按钮。 .. image:: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/res/guide/database/cloudconsole-database-import-dialog.jpg?t=19041015 :alt: 数据库 选择要导入的 CSV 或者 JSON 文件,以及冲突处理模式,点击 “导入” 按钮即可开始导入。 文件格式 ------------ JSON、CSV 文件必须是 UTF-8 的编码格式,且其内容类似 MongoDB 的导出格式,例如: JSON: .. code-block:: json { "_id": "xxxxxx", "age": 45 } { "_id": "yyyyyy", "age": 21 } CSV: .. code-block:: _id,age xxxxxx,45 yyyyyy,21 需要注意以下几点: 1. JSON 数据不是数组,而是类似 JSON Lines,即各个记录对象之间使用 \n 分隔,而非逗号; 2. JSON 数据每个键值对的键名首尾不能是 .,例如 ".a"、"abc.",且不能包含多个连续的 .,例如 "a..b"; 3. 键名不能重复,且不能有歧义,例如 {"a": 1, "a": 2} 或 {"a": {"b": 1}, "a.b": 2}; 4. 时间格式须为 ISODate 格式,例如 ``"date": { "$date" : "2018-08-31T17:30:00.882Z" }``; 5. 当使用 Insert 冲突处理模式时,同一文件不能存在重复的 _id 字段,或与数据库已有记录相同的 _id 字段; 6. CSV 格式的数据默认以第一行作为导入后的所有键名,余下的每一行则是与首行键名一一对应的键值记录。 目前提供了 Insert、Upsert 两种冲突处理模式。Insert 模式会在导入时总是插入新记录, Upsert 则会判断有无该条记录,如果有则更新记录,否则就插入一条新记录。 导入完成后,可以在提示信息中看到本次导入记录的情况。 .. image:: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/res/guide/database/cloudconsole-database-import-success.jpg?t=19041015 :alt: 数据库