ファイルDB"NeDB"の
ススメ
2015.6.26
Isamu Suzuki (@moomooya)
Rakus co., ltd.
鈴木 勇
• 株式会社ラクス
• 請求書発行サービスを開発してます
• 仕事ではJava+JavaScript少し
• プライベートはJavaScriptに全力投資中
• 最近Pythonに浮気しそう
今日のお題
みなさん
ちょっとしたツールを
作るときでも
DB使いたいなぁ
と、思うことありますよね?
でも
セットアップが
(‘A`)マンドクセ
ってなりませんか?
そんなあなたに
NeDB
知ってる人は
知らないふり推奨
もしくはピザどうぞ
インストール
npm install nedb --save
いつもの一行!
初期化
var NeDB = require(‘nedb');
var db = new NeDB({
filename: 'path/to/datafile'
});
初期化(複数ファイルの場合)
var NeDB = require(‘nedb’);
var db = {};
var db.users = new NeDB({
filename: 'path/to/userfile'
});
var db.items = new NeDB({
filename: 'path/to/itemfile'
});
使い方(insert)
db.users.insert({name: ‘hoge'});
//複数レコードの挿入
db.users.insert([
{name: 'foo'},
{name: 'bar'}
]);
使い方(insert)
db.users.insert([
{name: 'foo'},
{name: 'bar'}
], function(err, newDoc){
//ほげほげふーばー
});
使い方(find)
db.users.find({ name: 'fuga' },
function (err, docs) {
// ほげふがふーばー
});
db.users.find({ name: /f*uga/ },//正規表現
function (err, docs) {
// ほげふがふーばー
});
使い方(find & sort, skip, limit)
db.users.find({ name: 'fuga' })
.sort({name: -1}), //name降順
.skip(1) //1件目を飛ばして
.limit(5) //5件取得
.exec(function (err, docs) {
// ほげふがふーばー
});
おい、ちょっと待て
つまりこういうことか?
『我々はmongodbと同じ
構文で実装できる……』
Exactly(そのとおりでございます)
三部終わりましたね
使い方(update)
db.users.update({ name: 'fuga' },
{ name: 'fungaar' },
{ multi: true }, //複数行更新
function (err, numReplaced) {
// ほげふがふーばー
});
使い方(remove)
db.users.remove({ name: 'fuga' },
{ multi: true }, //複数行削除
function (err, numRemoved) {
// ほげふがふーばー
});
NeDBのAPIは
MongoDBのサブセット
NeDBで実装しておけば
MongoDBに
すぐ移行できる
もちろん
express-sessionの
セッションストアにも
NeDB使って
上手に手を抜いて
書きたいことから書こう!
最後に
宣伝させてください
株式会社ラクスは
エンジニアを募集しています

Node.jsで使えるファイルDB"NeDB"のススメ