一分钟入门
lowdb 是一个基于 Lodash 的小型本地 JSON 数据库。神器!
- 可以语义化较强的查询/操作方法,对指定的文本文件或者浏览器 LocalStorage 内容进行精确的查询读写操作
- 基于 Lodash, 支持大量的处理方法
- 支持 JSON 格式文本及任意可被转换为 JSON 结构的文本数据 (xml/yaml/toml/ini)
具体使用请参照 Github: https://github.com/typicode/lowdb
数据内容
{ |
常用操作
// Node.js |
自定义 serialize/deserialize 函数支持更多格式
const adapter = new FileSync('array.xml', { |
使用场景
之前使用 JavaScript 写过很多小工具,包括文件格式转换,简单数据处理,文档生成,代码生成等等。
这种轻量级的处理场景下本地数据存储简直是刚需,在 Node 环境中我通常使用 JSON 文件来进行存储,以下是某产品文档中的一则 FAQ JSON 格式数据示例,生成文档的时候我需要指定 category
提取相应的信息,指定 rank
来进行文档排序:
{ |
使用前
很长一段时间里我在 Node.js 中采用 JavaScript 的数组查找、过滤和排序来完成数据筛选,在数据变更之后使用写文件的方式再次写入磁盘。
const { faq } = require('./datasource.json') |
基于如此复杂且不清晰的操作流,我多次思考纠结我是否需要一个数据库来处理这部分业务,哪怕是 SQLite 都行,但是引入数据库后我又不得不再开发一个 Admin 界面来进行增删查改。
使用后
const low = require('lowdb') |