Nodejs 读写 json文件

本文介绍了如何在不使用数据库的情况下,通过`fs`模块进行基本的读写操作,以及利用lowdb库更便捷地管理数据,包括数据初始化、查询、写入和删除等操作,避免了大文件读取的问题。

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

需求:不想使用数据库;只做简单的数据记录

一、最简单的读写方式

// 读取
const fs = require('fs')

const jsonData = json.parse(fs.readFileSync(文件路径))

console.log(jsonData)

// 写入
const newJsonData = {...}

fs.writeFileSync(文件路径,JSON.stringify(newJsonData))

缺点很明显;操作具体内容的时候很复杂,并且要把整个文件都读取到内存中(不推荐)

二、使用lowdb 库

安装: npm i lowdb@1.0.0 (1.0版本下载量最高,支持commonjs)

// 导入包
const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');
const adapter = new FileSync('db.json');
// 获取 db 对象
const db = low(adapter);

// 初始化数据,自己在json文件中写也可以不用初始化
db.defaults({posts:[],user:{}}).write();
// 获取单条数据 find里面传条件
db.get('posts').find({id:1});
// 写入数据
db.get('posts').push(...).write();
db.set("user.name", 'kongzhi').write();
// 获取数据
db.get('posts').value();
// 删除数据 remove里面传条件 返回被删除后的对象
const result = db.get('posts').remove({id:1}).write();
// 更新数据
db.get('posts').find({id:1}).assign({id:2}).write();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值