[云开发]小程序云开发数据库导入csv与GEO地理数据
发表于更新于
广州
开发云开发[云开发]小程序云开发数据库导入csv与GEO地理数据
❄️2winter小程序自带的云开发有一个控制台,可以导入数据与导出,但是bug太多了,尤其是csv的数据,原封不动导出,再导入就失败,项目需要导入非常多的csv数据,并且是需要GEO地理位置类型的.没办法,最后用Node写的云函数,读取导入的.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| // 云函数入口文件
const cloud = require('wx-server-sdk');
const reader = require('line-reader');
/**
* 数据导入
*/
cloud.init();
const db = cloud.database()
let status = false;
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
let count = 0;
//读取csv文件 //转同步,防止云函数提前终止 let r = await reader.eachLine('./test.csv', async function(line,last){
// console.log(line);
//解析csv文件信息
let shopInfo = line.split(',');
console.log(shopInfo)
try {
let res = await db.collection('users').add({
data: {
shop_type:'',
_openid: wxContext.OPENID,
name: shopInfo[3] || '' ,
user: shopInfo.user || 'user',
location: new db.Geo.Point(parseFloat(shopInfo[16]), parseFloat(shopInfo[15])),
phone:shopInfo[6]|| '' ,
city: shopInfo[2] || '',
province: shopInfo.province || '',
place: shopInfo.place || '',
address: shopInfo[4] || ''
}
});
console.log('add ok')
console.log(res)
} catch (e) {
console.log('添加失败')
console.log(e)
}
});
return r;
}
|
这里用了一个解析库
npm install line-reader 一个nodejs写的文件读取库
❄️2winter
ReactNative FullStack Developer
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ❄️2winter!