Slide 1

Slide 1 text

ϑΝΠϧDB"NeDB" ͷεεϝ 2015.6.26 Isamu Suzuki Rakus co, ltd.

Slide 2

Slide 2 text

ླ໦ ༐ • גࣜձࣾϥΫε • ੥ٻॻൃߦαʔϏεΛ։ൃͯ͠·͢ • ࢓ࣄͰ͸JavaʴJavaScriptগ͠ • ϓϥΠϕʔτ͸JavaScriptʹશྗ౤ࢿத • ࠷ۙPythonʹුؾͦ͠͏

Slide 3

Slide 3 text

ࠓ೔ͷ͓୊

Slide 4

Slide 4 text

Έͳ͞Μ

Slide 5

Slide 5 text

ͪΐͬͱͨ͠πʔϧΛ ࡞Δͱ͖Ͱ΋ DB࢖͍͍ͨͳ͊ ͱɺࢥ͏͜ͱ͋Γ·͢ΑͶʁ

Slide 6

Slide 6 text

Ͱ΋ ηοτΞοϓ͕

Slide 7

Slide 7 text

(‘A`)ŵƃŪƄŞŤ

Slide 8

Slide 8 text

ͬͯͳΓ·ͤΜ͔ʁ

Slide 9

Slide 9 text

ͦΜͳ͋ͳͨʹ NeDB

Slide 10

Slide 10 text

஌ͬͯΔਓ͸ ஌Βͳ͍;Γਪ঑ ! ΋͘͠͸ϐβͲ͏ͧ

Slide 11

Slide 11 text

Πϯετʔϧ npm install nedb --save ͍ͭ΋ͷҰߦʂ

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

ॳظԽʢෳ਺ϑΝΠϧͷ৔߹ʣ var NeDB = require(‘nedb’); var db = {}; var db.users = new NeDB({ filename: 'path/to/userfile' }); var db.items = new NeDB({ filename: 'path/to/itemfile' });

Slide 14

Slide 14 text

࢖͍ํ(insert) db.users.insert({name: ‘hoge'}); ! //ෳ਺Ϩίʔυͷૠೖ db.users.insert([ {name: 'foo'}, {name: 'bar'} ]);

Slide 15

Slide 15 text

࢖͍ํ(insert) db.users.insert([ {name: 'foo'}, {name: 'bar'} ], function(err, newDoc){ //΄͛΄͛;ʔ͹ʔ });

Slide 16

Slide 16 text

࢖͍ํ(find) db.users.find({ name: 'fuga' }, function (err, docs) { // ΄͛;͕;ʔ͹ʔ }); db.users.find({ name: /f*uga/ },//ਖ਼نදݱ function (err, docs) { // ΄͛;͕;ʔ͹ʔ });

Slide 17

Slide 17 text

࢖͍ํ(find & sort, skip, limit) db.users.find({ name: 'fuga' }) .sort({name: -1}), //name߱ॱ .skip(1) //1݅໨Λඈ͹ͯ͠ .limit(5) //5݅औಘ .exec(function (err, docs) { // ΄͛;͕;ʔ͹ʔ });

Slide 18

Slide 18 text

͓͍ɺͪΐͬͱ଴ͯ

Slide 19

Slide 19 text

ͭ·Γ͜͏͍͏͜ͱ͔ʁ ʰզʑ͸mongodbͱಉ͡ ߏจͰ࣮૷Ͱ͖Δ……ʱ

Slide 20

Slide 20 text

Exactly ʢͦͷͱ͓ΓͰ͍͟͝·͢ʣ ࡾ෦ऴΘΓ·ͨ͠Ͷ

Slide 21

Slide 21 text

࢖͍ํ(update) db.users.update({ name: 'fuga' }, { name: 'fungaar' }, { multi: true }, //ෳ਺ߦߋ৽ function (err, numReplaced) { // ΄͛;͕;ʔ͹ʔ });

Slide 22

Slide 22 text

࢖͍ํ(remove) db.users.remove({ name: 'fuga' }, { name: 'fungaar' }, { multi: true }, //ෳ਺ߦ࡟আ function (err, numRemoved) { // ΄͛;͕;ʔ͹ʔ });

Slide 23

Slide 23 text

NeDBͷAPI͸ MongoDBͷαϒηοτ

Slide 24

Slide 24 text

ͭ·Γ

Slide 25

Slide 25 text

NeDBͰ࣮૷͓͚ͯ͠͹ MongoDBʹ ͙͢ҠߦͰ͖Δ

Slide 26

Slide 26 text

΋ͪΖΜ express-sessionͷ ηογϣϯετΞʹ΋ connect-nedb-session-two ͱ͍͏Ϟδϡʔϧ͕͋Γ·͢

Slide 27

Slide 27 text

݁࿦

Slide 28

Slide 28 text

NeDB࢖ͬͯ ্खʹखΛൈ͍ͯ ॻ͖͍ͨ͜ͱ͔Βॻ͜͏ʂ

Slide 29

Slide 29 text

࠷ޙʹ એ఻͍ͤͯͩ͘͞͞

Slide 30

Slide 30 text

גࣜձࣾϥΫε͸ ΤϯδχΞΛืू͍ͯ͠·͢ ʮླ໦ͷൃදΛݟͨʯ ͱ͓໰͍߹Θ͍ͤͩ͘͞