# 操作场景
目前云开发支持在小程序云开发控制台或腾讯云云开发控制台进行数据导入。本文档指导您如何在小程序云开发控制台从文件导入已有的数据。目前仅支持导入 CSV、JSON 格式的文件数据。
# 前提条件
- 当使用小程序云开发控制台进行导出时,需要已下载并安装 微信小程序工具 (opens new window);
- 当使用腾讯云云开发控制台进行导出时,因目前腾讯云云开发处于内测期间,您需要前往 云开发控制台 (opens new window) 申请开通白名单。
# 操作步骤
- 进入云开发控制台。
- 切换到【数据库】标签页,并选择需要导入数据的集合,单击【导入】。
- 选择要导入文件的格式以及冲突处理模式,单击【导入】,即可开始导入的过程。
TIP
目前提供了 Insert、Upsert 两种冲突处理模式。
- Insert 模式会在导入时总是插入新记录。
- Upsert 模式会判断有无该条记录,如果有则更新记录,否则就插入一条新记录。
在小程序云开发控制台导入数据,如下图所示:
在腾讯云云开发控制台导入数据,如下图所示:
JSON、CSV 文件必须是 UTF-8 的编码格式,且其内容类似 MongoDB 的导出格式,示例代码如下: JSON 示例:
{
"_id": "xxxxxx",
"age": 45
}
{
"_id": "yyyyyy",
"age": 21
}
CSV 示例:
_id, age;
xxxxxx, 45;
yyyyyy, 21;
TIP
- JSON 数据不是数组,而是类似 JSON Lines (opens new window),即各个记录对象之间使用
\n
分隔,而非逗号。 - JSON 数据每个键值对的键名首尾不能是
.
,例如".a"
、"abc."
,且不能包含多个连续的.
,例如"a..b"
。 - 键名不能重复,且不能有歧义,例如
{"a": 1, "a": 2}
或{"a": {"b": 1}, "a.b": 2}
。 - 时间格式须为
ISODate
格式,例如"date": { "$date" : "2018-08-31T17:30:00.882Z" }
。 - 当使用 Insert 冲突处理模式时,同一文件不能存在重复的
_id
字段,L 或与数据库已有记录相同的_id
字段。 - CSV 格式的数据默认以第一行作为导入后的所有键名,余下的每一行则是与首行键名一一对应的键值记录。
- 导入完成后,您可以在提示信息中看到本次导入记录的情况。