Mongodb

mongodbコマンドに入る

$ mongodb

検索(find)

条件に合致するドキュメントを検索する

db.item.find({"name":"green_pen"});

〜以降という日付条件でドキュメントを検索する

db.items.find({ "created_at" : { "$gte" : ISODate("2014-04-17T00:00:00+09:00") } });

複数の条件に合致するドキュメントを検索する

db.item.find({"name":"green_pen"}, {"on_sales":true});

not null条件でドキュメントを検索する

db.items.find({"price":{$exists:true}});

その他

条件に合致するドキュメントの件数を取得する

db.item.count({"name":"green_pen"});

条件に該当するドキュメントを更新する

db.items.update({"name":"red_pen"},{$set:{"price":300}});

全てのドキュメントを一括更新する

db.items.update({},{$set:{"sales_flg":true}}, false, true);

条件に該当するドキュメントを削除する

db.items.remove({"name":"red_pen"});

コレクションを空にする

db.items.remove({});

localのmongodbのdumpを取得

$ mongodump --host localhost --db dbname

bsonファイルから特定のコレクションをリストアする

$ mongorestore -u username -p -d mydb -c items dump/mydb/items.bson

インデックスを作成する

db.items.ensureIndex({price:1});

複合インデックスを作成する(-1は降順インデックス)

db.items.ensureIndex({price:1, created_at:-1});

インデックスを削除する

db.items.dropIndex({"price":1});

全てのインデックスを削除する

db.items.dropIndexes();

コレクションのフィールド名を変更する(stock => stock_numに変更)

db.items.update({}, {$rename : { "stock" : "stock_num" } }, false, true);

aggregation

実行計画を取得する

db.items.aggregate([
  {"$match":{"price":300}},
  {"$match":{"sales_flg":true}} 
],{explain:true});
特に指定がない限り、このサイトのコンテンツには次のライセンスが適用されます: Creative Commons Attribution-ShareAlike 3.0 License