0
iQi - 面白いアプリを開発中
以下、纏めましたので、ご参照ください。
定義参照
参照系
更新系
index関係
定義参照
// use [データベース名] or create database [データベース名]
use [データベース名]
// show databases
show dbs
// show tables
show collections
//create table [データベース名](options)
db.createCollection([テーブル名],{options})
参照系
// select * from [コレクション名]
db.[コレクション名].find()
// select * from [コレクション名] where x=4
db.[コレクション名].find({x:4})
// select j from [コレクション名] where x=4
db.[コレクション名].find({x:4}, {j:1})
// select * from [コレクション名] limit 1
db.[コレクション名].findOne()
// select * from [コレクション名] where x > 1
db.[コレクション名].find({x : {$gt: 1}})
// select * from [コレクション名] where x < 3 and x > 1
db.[コレクション名].find({x : {$gt: 1, $lt: 3}})
// select * from [コレクション名] limit 3
db.[コレクション名].find().limit(3);
// join的な事も可能
// select * from [コレクション名1] inner join [コレクション名2] on x = x
p = db.[コレクション名1].findOne({x:1});
db.[コレクション名2].findOne( { _id : p.x } )
// select * from [コレクション名] order by x desc
db.[コレクション名].find().sort({x:-1});
// select count(*) from [コレクション名]
db.[コレクション名1].find({x:1}).count();
// explan select * from [コレクション名] where x = 1
db.[コレクション名].find({x:1}).explain();
更新系
// insert into [コレクション名] (x) value( 3 )
t = { x : 3 };
db.[コレクション名].insert(t);
// update [コレクション名] set y = 1 where x = 1
db.[コレクション名].update( { x:1 }, { $set: { y : 1 } } );
// delete from [コレクション名] where x = 1
db.[コレクション名].remove({x:1})
t = { x : 3 };
// 「_id」が存在すればupdate、存在しなければinsert
db.[コレクション名].save(t)
index関係
// create index hoge on [コレクション名] (x)
db.[コレクション名].ensureIndex({x:1});
// 複合indexも可能
// create index hoge on [コレクション名] (x,y)
db.[コレクション名].ensureIndex({x:1, y:1});
// create unique index hoge on [コレクション名] (x)
db.[コレクション名].ensureIndex({x: 1}, {unique: true});
// drop index hoge
db.[コレクション名].dropIndex({x: 1, y: -1})
// コレクションの全てのindex削除
db.[コレクション名].dropIndexes();
// バックグラウンドで (lock無しに)indexを張る
db.[コレクション名].ensureIndex({x:1}, {background:true});