[DB]数据库--lowdb

[DB]数据库--lowdb

lowdb

lowdb ,是一个基于文件存储的非关系型数据库

基于loadsh的轻量级数据库

可用于在json中存储数据,大小一般为0~200M的json文件

方便简单的数据存储,快速的实现数据的增删改查

在js服务端使用 lowdb 存储数据,例如express创建的服务中,通过lowdb处理数据

基本应用

es6 复制代码
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

获取数据

ts 复制代码
db.data

如果文件不存在 db.data===null

数据变更

ts 复制代码
db.data.[data]='test'

直接修改json文件中指定字段data的值

写入文件

ts 复制代码
await db.write()//文件写入

lodash的使用

早期版本,由于是基于lodash的,与 lodash 是一体的,所以可以直接调用lodash的方法

在ES6的写法中,由于引入的方式不同,所以已经不能直接使用lodash的方法,需要先对数据的链式化

es6 复制代码
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)

获取数据

ts 复制代码
db.chain.get('data')

lodash方法使用

官网上可以查看所有可以使用的方法,可以对文件中获取到的数据使用lodash方法操作

主要功能包括

  • 遍历 array、object 和 string
  • 对值进行操作和检测
  • 创建符合功能的函数

数据变更

修改数组第n个数据的值

ts 复制代码
//loadash变更
db.chain.get('data').nth(n).assign(changeValue).value()

数据修改后,通过.value()实现文件变更

写入文件

ts 复制代码
await db.write()//文件写入

同基本用法相同

相关推荐
flypwn41 分钟前
TFCCTF 2025 WebLess题解
服务器·前端·数据库
n***i951 小时前
云原生数据库使用体验,与传统数据库差异
数据库·云原生
理想三旬7 小时前
关系数据库
数据库
无心水9 小时前
【分布式利器:RocketMQ】2、RocketMQ消息重复?3种幂等方案,彻底解决重复消费(附代码实操)
网络·数据库·rocketmq·java面试·消息幂等·重复消费·分布式利器
q***985210 小时前
基于人脸识别和 MySQL 的考勤管理系统实现
数据库·mysql
l1t10 小时前
用SQL求解advent of code 2024年23题
数据库·sql·算法
办公解码器11 小时前
Excel工作表打开一次后自动销毁文件,回收站中都找不到
数据库·excel
爬山算法12 小时前
Redis(127)Redis的内部数据结构是什么?
数据结构·数据库·redis
应用市场12 小时前
Qt QTreeView深度解析:从原理到实战应用
开发语言·数据库·qt
q***965812 小时前
Spring Data JDBC 详解
java·数据库·spring