[DB]数据库--lowdb
- lowdb
- 基本应用
- 获取数据
- 数据变更
- 写入文件
- lodash的使用
- 获取数据
- lodash方法使用
- 数据变更
- 写入文件
lowdb
lowdb ,是一个基于文件存储的非关系型数据库
基于loadsh的轻量级数据库
可用于在json中存储数据,大小一般为0~200M的json文件
方便简单的数据存储,快速的实现数据的增删改查
在js服务端使用 lowdb 存储数据,例如express创建的服务中,通过lowdb处理数据
基本应用
import { Low, JSONFileSync } from "lowdb";//有多种适配器可选择
const adapter = new JSONFileSync(path); // 申明适配器
const db = new Low(adapter);
await db.read()//读取文件必须存在,否则content为null无法获取到的文件中的数据
const content = null === db.data ? {} : db.data
获取数据
db.data
如果文件不存在 db.data===null
数据变更
db.data.[data]='test'
直接修改json文件中指定字段data的值
写入文件
await db.write()//文件写入
lodash的使用
早期版本,由于是基于lodash的,与 lodash 是一体的,所以可以直接调用lodash的方法
在ES6的写法中,由于引入的方式不同,所以已经不能直接使用lodash的方法,需要先对数据的链式化
import { Low, JSONFileSync } from "lowdb";//有多种适配器可选择
import lodash from "lodash";//提供各种方便的实用性工具,遍历数组等const adapter = new JSONFileSync(path); // 申明一个适配器
const db = new Low(adapter);
await db.read()//读取文件必须存在,否则content为null无法获取到的文件中的数据
//需要使用lodash的方法情况,数据的链式化
db.chain = lodash.chain(db.data)
获取数据
db.chain.get('data')
lodash方法使用
官网上可以查看所有可以使用的方法,可以对文件中获取到的数据使用lodash方法操作
主要功能包括
- 遍历 array、object 和 string
- 对值进行操作和检测
- 创建符合功能的函数
数据变更
修改数组第n个数据的值
//loadash变更
db.chain.get('data').nth(n).assign(changeValue).value()
数据修改后,通过.value()实现文件变更
写入文件
await db.write()//文件写入
同基本用法相同