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

一、最简单的读写方式

// 读取
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();

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐