[云开发]小程序云开发数据库导入csv与GEO地理数据


小程序自带的云开发有一个控制台,可以导入数据与导出,但是bug太多了,尤其是csv的数据,原封不动导出,再导入就失败,项目需要导入非常多的csv数据,并且是需要GEO地理位置类型的.没办法,最后用Node写的云函数,读取导入的.

// 云函数入口文件

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
文章链接: https://2winter.com
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 2winter !