はじめてのMongoDB - SQL vs MongoDB
MongoDBはオープンソースのドキュメント指向データベース
- JavaScriptのオブジェクトに近いデータのドキュメントとしてデータが保存される
- 外部キー、joinがない
- テーブルのスキーマ定義不要
SQL vs MongoDB
SQLとMongoDBの用語対応表
SQL | MongoDB |
---|---|
database | database |
table | collection |
row | document もしくは BSONドキュメント |
column | field |
index | index |
primary key | primary key |
テーブルをコレクションと呼ぶのが曲者
データベースを選択するときの操作はSQLと同様
use database
CRUD操作
INSERT
usersコレクションにオブジェクトをinsert
・MongoDB
db.users.insert({name: "wkodate", age: 27});
・SQL
INSERT INTO users(name, age) VALUES ("wkodate", 27)
SELECT
usersコレクションのすべてのドキュメントを参照
・MongoDB
db.users.find();
・SQL
SELECT * FROM users
name = "wkodate" のすべてのドキュメントを参照
・MongoDB
db.users.find({name: "wkodate"});
・SQL
SELECT * FROM users WHERE name = "wkodate"
UPDATE
wkodateのageを更新
・MongoDB
db.users.update({name: "wkodate"}, {$set: { age: 17}});
・SQL
UPDATE users SET age = 17 WHERE name = "wkodate"
DELETE
usersコレクションのname=wkodateを削除
・MongoDB
db.users.remove({name: "wkodate"});
・SQL
DELETE FROM users WHERE name = "wkodate"
usersコレクションのすべてのデータを削除
・MongoDB
db.users.remove({});
・SQL
DELETE FROM users
まとめ
SQLとMongoDBとの違いを理解することができました。あとは実践あるのみだと思いました。
参考
MongoDB 公式サイト http://www.mongodb.org/