官方文档提供两种方法支持上传csv/json数据到云数据,分别是在云开发控制台和使用HTTP API的方式上传csv/json文件到云数据库,另外我们还可以通过自己编写云函数的方法上传excel文件到云数据,下边我们将分别介绍着三种方法。
一、使用云控制台上传csv/json数据到云数据库
要导入数据,需打开云开发控制台,切换到 “数据库” 标签页,并选择要导入数据的集合,点击 “导入” 按钮,需要注意只支持csv和json格式的数据导入,需要注意的是jJSON 数据不是数组,而是类似 JSON Lines,即各个记录对象之间使用 \n
分隔,而非逗号,具体格式如下图所示,但是此种导入方式存在一些问题,比如说如果json格式或者csv文件格式有误,他会导入一部分数据到数据库之后才报错,不是很好控制,无法实现全导入或者全不导入的要求。
二、 自己编写函数导入excel数据导入数据库
实现思路:选择文件-----------上传文件到云存储---------返回fileID--------------调用云函数将云存储中的文件内容插入到云数据库,选择文件使用choosemessagefile,上传使用uploadfile方法,都没有难度,下边我们贴一下将excel文件写入到云数据库的云函数内容:
// 云函数入口文件,引入需要的模块
// 编写的代码将excel文件的内容插入到云数据库
const cloud = require('wx-server-sdk');
cloud.init({
env: '你的云环境ID'
})
const db = cloud.database();
var xlsx = require('node-xlsx');
//在此处最好初始化一些云环境,防止多个云环境时产生冲突
// 云函数入口函数
exports.main = async(event, context) => {
console.log("云函数调用成功")
//通过event获取到调用云函数的函数传递过来的参数
let fileID = event.fileID
console.log("传递过来的fileID为", fileID)
//通过获取