1.首先开通支付宝云空间
- 在hbuilderx里关联新的云空间
- 上传全部云函数及database
4.这时候,支付宝云空间的数据库是空表,先从阿里云的数据库选择导出,保存为export.json - 创建parse.js,内容如下
const fs = require('fs')
const path = require('path')
const readline = require('readline')
const cwd = process.cwd()
const inputPath = path.resolve(cwd, process.argv[2])
const outputPath = path.resolve(cwd, process.argv[3])
if (fs.existsSync(outputPath)) {
throw new Error(输出路径(${outputPath})已存在)
}
function getType(val) {
return Object.prototype.toString.call(val).slice(8, -1).toLowerCase()
}
function parseRecord(obj) {
const type = getType(obj)
switch (type) {
case 'object':
if (obj.$oid) {
return obj.$oid
}
if (obj.$date) {
return obj.$date
}
const keys = Object.keys(obj)
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
obj[key] = parseRecord(obj[key])
}
return obj
case 'array':
for (let i = 0; i < obj.length; i++) {
obj[i] = parseRecord(obj[i])
}
return obj
default:
return obj
}
}
async function parseCollection() {
const inputStream = fs.createReadStream(inputPath)
const outputStream = fs.createWriteStream(outputPath)
const rl = readline.createInterface({
input: inputStream
});
for await (const line of rl) {
const recordStr = line.trim()
if (!recordStr) {
continue
}
const record = parseRecord(JSON.parse(recordStr))
outputStream.write(JSON.stringify(record) + '\n')
}
rl.close()
console.log(处理后的文件已输出到${outputPath})
}
parseCollection()
6.将parse.js放到电脑上,比如E盘,创建data文件夹,将export.josn放进去,打开终端,输入指令 node E:\parse.js E:\data\export.json E:\data\output.json
7.将转好的数据导入到支付宝云对应的新表里
8.parse.js自行添加转换规则,以上只是简单示例,根据自己的表结构来
0 个评论
要回复文章请先登录或注册