[DB]数据库--lowdb

2023-09-15 22:42:01

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

同基本用法相同

更多推荐

python基础05 循环 变量 函数组合案例

目录1.前言:2.案例详情:->2.1案例拆解--->2.1.1主页功能:--->2.1.2查余额:--->2.1.3存钱--->2.1.4取钱--->2.1.5返回首页重试[可有可无]--->2.1.6退出3.实现代码(python版)4.运行结果:->4.1文字式想写的可以直接复制文字->4.2图示(更清晰)5.总

【Linux】编译器 gcc/g++

1、背景知识(1)[LMY@hecs-38755~]$gcccode.c-ocode.exe-std=c99【-o生成指定名字的可执行文件,-std=c99以C99的标准执行程序】(2)安装g++,yuminstallgcc-c++2、gcc如何完成(1)预处理(进行宏替换)预处理功能主要包括展开头文件,宏替换,文件包

CCF会议&期刊(软件工程/系统软件/程序设计语言)

中国计算机学会推荐国际学术会议1PLDIACMSIGPLANConferenceonProgrammingLanguageDesign&ImplementationA会议软件工程/系统软件/程序设计语言2POPLACMSIGPLAN-SIGACTSymposiumonPrinciplesofProgrammingLan

系统架构设计高级技能 · 构件与中间件技术

点击进入系列文章目录现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。Noweverythingisforthefutureofdreamweavingwings,letthedreamflyinreality.系统架构设计高级技能·构件与中间件技术一、构件的定义二、构件系统架构特性三、中间件概述四、CBSD

C++---多态

多态前言多态的概念多态的定义及实现多态的构成条件虚函数虚函数的重写虚函数重写的两个例外协变(基类与派生类虚函数返回值类型不同)析构函数的重写override和final虚函数的默认参数抽象基类前言在买火车票的时候,如果你是学生,是买半价票;普通人是全家买票,军人买票是优先买票。多态的概念多态:多种形式,具体点就是去完成

Ganache本地测试网+cpolar内网穿透实现公网访问内网

文章目录前言1.本地环境服务搭建2.局域网测试访问3.内网穿透3.1ubuntu本地安装cpolar内网穿透3.2创建隧道3.3测试公网访问4.配置固定二级子域名4.1保留一个二级子域名4.2配置二级子域名4.3测试访问公网固定二级子域名前言网:我们通常说的是互联网;站:可以理解成在互联网上的一个房子。把互联网看做一个

【Python】 Python键值互换

Python键值互换Python键值互换是一种对Python字典类型中键值对进行反转的技术。在Python中,字典是一种可变的、可迭代的数据类型,它由键值对组成,其中键是唯一的,而值可以重复。有时候,我们需要以值作为键,以键作为值来操作字典,需要使用键值互换的场景。一、将键和值互换很多时候,我们需要将一个Python字

DeeTune:基于 eBPF 的百度网络框架设计与应用

文章目录一、DeeTune的设计1.eBPF模块:2.控制平面模块:3.数据平面模块:4.插件模块:二、DeeTune的应用1.负载均衡:2.安全防御:3.网络性能优化:三、案例分析1.当有新的流量进入系统时,DeeTune的eBPF模块会对其进行处理:2.eBPF模块会根据配置的负载均衡算法,选择一台服务器来处理该流

Windows下CMD常用命令大全

1.IP地址查询查看本机IP地址:ipconfig查看指定域名的IP地址:nslookupexample.com2.路由跟踪跟踪到指定域名的路由路径:tracertexample.com3.注册服务注册一个Windows服务:sccreateserviceNamebinPath="C:\path\to\service.

DollarTree(美元树)验厂需要注意哪些方面?

【DollarTree(美元树)验厂需要注意哪些方面?】美元树(Dollartree),是美国的一元店。每件商品都只卖一美元,吃的、用的和玩的应有尽有。美元树在美国共拥有4900家门店,其中一半的连锁店,离沃尔玛不到三公里,号称商品比沃尔玛还便宜。而就靠开这样的连锁店,它去年销售收入59亿美元,利润为4亿美元,进入到《

Python爬虫自动切换爬虫ip的完美方案

在进行网络爬虫时,经常会遇到需要切换爬虫ip的情况,以绕过限制或保护自己的爬虫请求。今天,我将为你介绍Python爬虫中自动切换爬虫ip的终极方案,让你的爬虫更加高效稳定。步骤一:准备爬虫ip池首先,你需要准备一个可靠的爬虫ip池。爬虫ip池是由多个爬虫ip组成的集合,可以通过API或爬虫获取。你可以选择自建爬虫ip池

热文推荐