NeDB是使用Nodejs实现的一个NoSQL嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及JSON深度查询等。NeDB嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销,在运行时,也只需要较少的内存开销,使用精简代码编写,速度更快。其API是MongoDB的一个子集,可以通过这些接口轻松管理应用程序数据,而不依靠原始的文档文件。
具有简单、轻量、速度快等特点,由于嵌入式数据库存储总数据量最好要控制在1GB以内,所以适合在不需要大量数据处理的应用系统中使用(比如使用nw.js等实现的桌面应用程序、并发量不大的系统等)。
一、安装NeDB数据库
cnpm install nedb --save
二、建立数据库链接
import NeDB from 'nedb';
const DB = new NeDB({
autoload: true,
filename: ('path/to/datafile/data.db')
})
三、操作数据库
- 新增数据
语法:db.insert(doc, callback)
作用:
插入文档数据(文档相当于mysql表中的一条记录)。如果文档不包含_id字段,NeDB会自动生成一个,该字段是16个字符长度的数字字符串。该字段一旦确定,就不能被更改。
参数:doc: 支持String,Number,Boolean,Date,null,array以及object类型。如果该字段是undefined类型,将不会被保存,这里和MongoDB处理方式有点不同,MongoDB会将undefined转换为null进行存储。字段名称不能以"$"开始,也不能包含"."。callback(可选): 回调函数,包含参数err以及newDoc,err是报错,newDoc是新插入的文档,包含它的_id字段。
示例如下:
DB.insert({ name: 'cuiht', age: 25 }, function (err, doc) {
if (err) {
console.log(err);
return;
}
console.log(doc);
});
- 查询数据
语法:db.find(query, callback)ordb.findOne(query, callback)
作用:db.find(query, callback)查询符合条件的文档集,db.findOne(query, callback)查询符合条件的一个文档
参数:query:object类型,查询条件。支持使用比较运算符($lt,$lte,$gt,$gte,$in,$nin,$ne), 逻辑运算符($or,$and,$not,$where), 正则表达式进行查询。callback(可选): 回调函数,包含参数err以及docs,err是报错,docs是查询到的文档集。
示例如下:
DB.find({ age: 20}, (err, docs) => {
if (err) {
console.log(err);
return;
}
console.log(docs)

本文介绍了NeDB,一个适用于Node.js和浏览器的NoSQL嵌入式数据库,其特点是简单、轻量且快速。内容包括安装、数据库连接、数据的增删查改操作,并提供了Vue应用中使用NeDB的示例代码,展示了如何在应用中封装和调用数据库操作。
最低0.47元/天 解锁文章
1896

被折叠的 条评论
为什么被折叠?



