Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ファイル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....
使い方(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/ },//正規表現
fu...
使い方(find & sort, skip, limit)
db.users.find({ name: 'fuga' })
.sort({name: -1}), //name降順
.skip(1) //1件目を飛ばして
.limit(5) //...
おい、ちょっと待て
つまりこういうことか?
『我々は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"のススメ
Node.jsで使えるファイルDB"NeDB"のススメ
Upcoming SlideShare
Loading in …5
×

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

Node学園16時限目

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

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

×