node中fs库(文件读写)操作

本文介绍了如何使用Node.js的fs库进行文件读写操作,包括读取本地JSON文件并重组数据后写入新文件。同时,通过示例展示了将JSON数据借助mongoose库写入MongoDB数据库的流程,特别是在Koa框架下的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值