http://nodejs.cn/api/fs.html#fs_fs_readfile_path_options_callback
示例1:读取本地JSON文件,按需重组数据后写入新的JSON文件
//node中封装了fs库,可以用于本地静态文件的读写操作
const fs = require('fs')
//读取本地json文件
fs.readFile('./data_json/goods.json','utf8',function(err,data){
//解析json
let newData = JSON.parse(data) ;
//数据重组
let pushData = []
let i = 0
//RECORDS是goods.json中的数组字段名(区分大小写)
newData.RECORDS.map(function(value,index){
//过滤掉IMAGE1字段为空的数据
if(value.IMAGE1 != null){
i++ ;
console.log(value.NAME)
pushData.push(value)
}
})
console.log(i)
//将重组好的数组写入新的JSON文件
fs.writeFile('./data_json/newGoods.json',JSON.stringify(pushData),function(err){
if(err) console.log('写文件操作失败')
else console.log('写文件操作成功')
})
})
示例2:读取本地JSON文件,通过mongoose写入mongoDB数据库[koa框架]
const Router = require('koa-router')
let router = new Router()
const mongoose = require('mongoose')
const fs = require('fs')
/**
* 从本地JSON文件中读取数据,插入到mongoDB数据库
*/
router.get('/insertAllGoodsInfo',async (ctx)=>{
fs.readFile('../data_json/newGoods.json','utf8',(err,data)=>{
//解析json
data=JSON.parse(data)
let saveCount=0
//创建数据模型
const Goods = mongoose.model('Goods')
data.map((value,index)=>{
console.log(value)
//给字段赋值,保存数据
let newGoods = new Goods(value)
newGoods.save().then(()=>{
saveCount++
console.log('成功'+saveCount)
}).catch(error=>{
console.log(MediaStreamErrorEvent)
})
})
})
ctx.body="开始导入数据"
})
module.exports = router