Upload
isamu-suzuki
View
1.530
Download
0
Embed Size (px)
Citation preview
ファイルDB"NeDB" のススメ2015.6.26Isamu 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 のセッションストアにも
connect-nedb-session-two
というモジュールがあります
結論
NeDB 使って上手に手を抜いて
書きたいことから書こう!
最後に宣伝させてください
株式会社ラクスはエンジニアを募集しています
「鈴木の発表を見た」
とお問い合わせください
会社 WEB ページより申し込みどうぞ