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

同基本用法相同

相关推荐
晚霞的不甘28 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位1 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华21 小时前
mysql索引
数据库·mysql
2601_949593652 小时前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__2 小时前
mysql新老项目版本选择
数据库·mysql
Dxy12393102162 小时前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light2 小时前
MySQL相关问题
数据库·mysql
蜡笔小炘3 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长3 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚3 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构