Nedb 快速上手

2018-08-26 18:53 更新

由于NeDB可以看作是精簡(jiǎn)版的MongoDB,這里和MongoDB的使用做一下對(duì)比,以便可以更直觀的感受NeDB的簡(jiǎn)便。

MongoDB

1、下載安裝包;(http://www.mongodb.org/downloads

2、解壓縮文件;

3、設(shè)置系統(tǒng)變量;

4、配置mongodb運(yùn)行環(huán)境;

5、啟動(dòng)mongodb服務(wù);

6、連接mongodb;

7、添加mongodb為windows服務(wù);

8、啟動(dòng)服務(wù);

net start MongoDB

9、安裝mongoose模塊(mongoose官網(wǎng) 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、停止或刪除服務(wù);

net stop MongoDB
 
sc delete MongoDB

NeDB

1、安裝模塊

npm install nedb --save

2、使用


// 加載模塊
const nedb = require('nedb');
 
// 實(shí)例化連接對(duì)象(不帶參數(shù)默認(rèn)為內(nèi)存數(shù)據(jù)庫(kù))
const db = new nedb({
  filename: '/data/save.db',
  autoload: true
});
 
// 插入單項(xiàng)
db.insert({
  name: 'tom'
}, (err, ret) => {});
 
// 插入多項(xiàng)
db.insert(
  [
    { name: 'tom' },
    { name: 'jerry' }
  ]
, (err, ret) => {});
 
// 查詢單項(xiàng)
db.findOne({
  name: 'tom'
}, (err, ret) => {});
 
// 查詢多項(xiàng)
db.find({
    name: {
      $in: ['tom', 'jerry']
    }
  })
  .sort({
    _id: -1
  })
  .exec((err, ret) => {});
 
// 更新單項(xiàng)
db.update({
  _id: '1'
}, {
  $set: {
    name: 'kitty'
  }
}, (err, ret) => {});
 
// 更新多項(xiàng)
db.update({}, {
  $set: {
    name: 'kitty'
  }
}, {
  multi: true
}, (err, ret) => {});
 
// 刪除單項(xiàng)
db.remove({
  _id: '1'
}, (err, ret) => {})
 
// 刪除多項(xiàng)
db.remove({
  name: 'kitty'
}, {
  multi: true
}, (err, ret) => {});

通過(guò)對(duì)比,嵌入式數(shù)據(jù)庫(kù)在使用上的優(yōu)勢(shì)一目了然,無(wú)需任何數(shù)據(jù)庫(kù)服務(wù)器,也不用安裝、配置、啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)服務(wù),而且NeDB的API抽取了MongoDB常用的一些接口,在用法上大同小異,性能也不錯(cuò)。如果項(xiàng)目使用Node實(shí)現(xiàn),并且存儲(chǔ)數(shù)據(jù)量不大,又熟悉MongoDB語(yǔ)法,那么,NeDB就值得一用。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)