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'});
とりあえず基本的はこのくらいでしょうか?