30
フフフフ DB"NeDB" フフフフ 2015.6.26 Isamu Suzuki (@moomooya) Rakus co., ltd.

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

Embed Size (px)

Citation preview

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

ファイルDB"NeDB" のススメ2015.6.26Isamu Suzuki (@moomooya)Rakus co., ltd.

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

鈴木 勇

• 株式会社ラクス

• 請求書発行サービスを開発してます

• 仕事では Java+ JavaScript少し

• プライベートは JavaScriptに全力投資中

• 最近 Pythonに浮気しそう

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

今日のお題

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

みなさん

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

ちょっとしたツールを作るときでも

DB 使いたいなぁと、思うことありますよね?

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

でもセットアップが

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

(‘A`) マンドクセ

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

ってなりませんか?

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

そんなあなたにNeDB

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

知ってる人は知らないふり推奨

もしくはピザどうぞ

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

インストール

npm install nedb --save

いつもの一行!

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

初期化

var NeDB = require(‘nedb');var db = new NeDB({ filename: 'path/to/datafile' });

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

初期化(複数ファイルの場合)

var NeDB = require(‘nedb’);var db = {};var db.users = new NeDB({ filename: 'path/to/userfile' });var db.items = new NeDB({ filename: 'path/to/itemfile' });

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

使い方 (insert)

db.users.insert({name: ‘hoge'});

//複数レコードの挿入db.users.insert([ {name: 'foo'}, {name: 'bar'}]);

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

使い方 (insert)

db.users.insert([ {name: 'foo'}, {name: 'bar'}], function(err, newDoc){ //ほげほげふーばー});

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

使い方 (find)

db.users.find({ name: 'fuga' }, function (err, docs) { // ほげふがふーばー});db.users.find({ name: /f*uga/ },//正規表現 function (err, docs) { // ほげふがふーばー});

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

使い方 (find & sort, skip, limit)

db.users.find({ name: 'fuga' }) .sort({name: -1}), //name降順 .skip(1) //1件目を飛ばして .limit(5) //5件取得 .exec(function (err, docs) { // ほげふがふーばー });

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

おい、ちょっと待て

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

つまりこういうことか?『我々は mongodb と同じ

構文で実装できる……』

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

Exactly

(そのとおりでございます)

三部終わりましたね

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

使い方 (update)

db.users.update({ name: 'fuga' }, { name: 'fungaar' }, { multi: true }, //複数行更新 function (err, numReplaced) { // ほげふがふーばー });

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

使い方 (remove)

db.users.remove({ name: 'fuga' }, { multi: true }, //複数行削除 function (err, numRemoved) { // ほげふがふーばー });

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

NeDB の API はMongoDB のサブセット

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

つまり

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

NeDB で実装しておけばMongoDB にすぐ移行できる

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

もちろんexpress-session のセッションストアにも

connect-nedb-session-two

というモジュールがあります

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

結論

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

NeDB 使って上手に手を抜いて

書きたいことから書こう!

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

最後に宣伝させてください

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

株式会社ラクスはエンジニアを募集しています

「鈴木の発表を見た」

とお問い合わせください

会社 WEB ページより申し込みどうぞ