Nedb 快速上手

2018-08-26 18:53 更新

由于NeDB可以看作是精简版的MongoDB,这里和MongoDB的使用做一下对比,以便可以更直观的感受NeDB的简便。

MongoDB

1、下载安装包;(http://www.mongodb.org/downloads

2、解压缩文件;

3、设置系统变量;

4、配置mongodb运行环境;

5、启动mongodb服务;

6、连接mongodb;

7、添加mongodb为windows服务;

8、启动服务;

net start MongoDB

9、安装mongoose模块(mongoose官网 http://mongoosejs.com/

npm install mongoose --save

10、使用(以express为例)

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、停止或删除服务;

net stop MongoDB
 
sc delete MongoDB

NeDB

1、安装模块

npm install nedb --save

2、使用


// 加载模块
const nedb = require('nedb');
 
// 实例化连接对象(不带参数默认为内存数据库)
const db = new nedb({
  filename: '/data/save.db',
  autoload: true
});
 
// 插入单项
db.insert({
  name: 'tom'
}, (err, ret) => {});
 
// 插入多项
db.insert(
  [
    { name: 'tom' },
    { name: 'jerry' }
  ]
, (err, ret) => {});
 
// 查询单项
db.findOne({
  name: 'tom'
}, (err, ret) => {});
 
// 查询多项
db.find({
    name: {
      $in: ['tom', 'jerry']
    }
  })
  .sort({
    _id: -1
  })
  .exec((err, ret) => {});
 
// 更新单项
db.update({
  _id: '1'
}, {
  $set: {
    name: 'kitty'
  }
}, (err, ret) => {});
 
// 更新多项
db.update({}, {
  $set: {
    name: 'kitty'
  }
}, {
  multi: true
}, (err, ret) => {});
 
// 删除单项
db.remove({
  _id: '1'
}, (err, ret) => {})
 
// 删除多项
db.remove({
  name: 'kitty'
}, {
  multi: true
}, (err, ret) => {});

通过对比,嵌入式数据库在使用上的优势一目了然,无需任何数据库服务器,也不用安装、配置、启动一个数据库服务,而且NeDB的API抽取了MongoDB常用的一些接口,在用法上大同小异,性能也不错。如果项目使用Node实现,并且存储数据量不大,又熟悉MongoDB语法,那么,NeDB就值得一用。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号