[DB]数据库--lowdb

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()//文件写入

同基本用法相同

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三知之灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值