MongoDBのコマンドをMySQLと比較しながら覚える
2011年5月10日
データベース一覧
MySQL
show databases;
MongoDB
show dbs;
データベースの選択
MySQL
use hoge;
MongoDB
use hoge;
コレクション(テーブル)の一覧
MySQL
show tables;
MongoDB
show collections;
データの保存
MySQL
INSERT INTO hoge SET (id,name) VALUES('1','foo');
MondoDB
db.hoge.save({ id: '1', name: 'foo'});
データの取得
MySQL
SELECT * FROM hoge WHERE id = '1'; -- 10件取得 SELECT * FROM hoge LIMIT 10; -- 5件飛ばして、10件取得 SELECT * FROM hoge LIMIT 5,10; -- 昇順 SELECT * FROM hoge ORDER BY id; -- 降順 SELECT * FROM hoge ORDER BY id DESC;
MongoDB
db.hoge.find({ id: '1'});
// 10件取得
db.hoge.find().limit(10);
// 5件飛ばして、10件取得
db.hoge.find().skip(5).limit(10);
// 昇順
db.hoge.find().sort({ id: 1 });
// 降順
db.hoge.find().sort({ id: -1 });
データの更新
MySQL
UPDATE hoge SET name = 'baz' WHERE id = '1';
MongoDB
// 普通にupdateしてしまうと、セットした値しか保存されない。
db.hoge.update({ id: '1'},{ id: '1', name: 'baz'}); // update({条件},{更新内容})
// 特定の値を更新したい場合は、$setを使う。
db.hoge.update({ id: '1'}, { $set:{ name: 'baz'} }); // update({条件},$set:{更新内容})
データの削除
MySQL
DELETE FROM hoge WHERE id = '1';
MongoDB
db.hoge.remove({ id: '1'});
とりあえず基本的はこのくらいでしょうか?