一、简介
NeDB 是使用 Nodejs 实现的一个 NoSQL 嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及 JSON 深度查询等。
NeDB 嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销,在运行时,也只需要较少的内存开销,使用精简代码编写,速度更快。其 API 是 MongoDB 的一个子集,可以通过这些接口轻松管理应用程序数据,而不依靠原始的文档文件。
具有简单、轻量、速度快等特点,由于嵌入式数据库存储总数据量最好要控制在 1GB 以内,所以适合在不需要大量数据处理的应用系统中使用(比如使用 nw.js 等实现的桌面应用程序、并发量不大的系统等)。
二、Git 地址
https://github.com/louischatriot/nedb
三、快速上手
由于 NeDB 可以看作是精简版的 MongoDB,这里和 MongoDB 的使用做一下对比,以便可以更直观的感受 NeDB 的简便。
MongoDB
1、下载安装包;(http://www.mongodb.org/downloads)
2、解压缩文件;
3、设置系统变量;
4、配置 mongodb 运行环境;
5、启动 mongodb 服务;
6、连接 mongodb;
7、添加 mongodb 为 windows 服务;
8、启动服务;
1 |
net start MongoDB |
9、安装 mongoose 模块(mongoose 官网 http://mongoosejs.com/)
1 |
npm install mongoose --save |
10、使用(以 express 为例)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
var mongoose = require('mongoose'); exports.index = function(req, res){ var db = mongoose.createConnection('localhost', 'test'); var schema = mongoose.Schema({ name: 'string' }); var User = db.model('User', schema); var user = new User({ name: 'tom' }); user.save(function(err) { if(err) // ... res.end(); }); User.find({'name':'tom'}, function(err, docs) { res.render('index', { title: docs}); }); }; |
11、停止或删除服务;
1 2 3 |
net stop MongoDB sc delete MongoDB |
NeDB
1、安装模块
1 |
npm install nedb --save |
2、使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
// 加载模块 const nedb = require('nedb'); // 实例化连接对象(不带参数默认为内存数据库) const db = new nedb({ filename: '/data/save.db', autoload: true }); // 插入单项 db.insert({ name: 'tom' }, (err, ret) => {}); // 插入多项 db. |