MongoDB

業務でよく使うMongoDBコマンドまとめ

More than 1 year has passed since last update.

今回は業務でよく使うMongoDBのコマンドの一覧をまとめました。

ぜひ、リファレンスとしてブックマークしてご活用ください!

検索

全件取得する場合

db.xxx.find();

条件(1つ)に該当するレコードのみ取得

db.xxx.find({id:1});

条件(複数)に該当するレコードのみ取得

db.xxx.find({id:1, name:'hoge'});

カンマで条件を複数指定可能

ObjectIdで検索

db.xxx.find({_id:ObjectId("123f6152b84rw07f4000333b")});

期間指定

db.xxx.find({yyy:{$gte:***,$lte:***}});

yyyが$gte:以上, $lte:以下の条件で検索可能

多次元配列のレコードを検索

db.xxx.find({yyy.zzz:"hogehoge"})

配列の中に配列が存在するような、データの場合は「.」でつなげることでアクセス可能

最初はforでループしないといけないかと思いましたが、
これを使えば深い階層のカラムを条件にソートしたりできるので便利です。

ソート

db.xxx.find().sort({yyy:-1});

yyyのカラムで降順にソート

db.xxx.find().sort({yyy:1});

昇順の場合は1を指定する

データ件数を指定

db.xxx.find().limit(10);

10件のみ取得する

削除

すべて削除

db.xxx.remove();

条件に該当するレコードのみ削除

db.xxx.remove({yyy:"hogehoge"});

データエクスポート

CSVエクスポート

下記のようにすると、条件に該当するデータの内、--fieldsで指定したカラムのみがCSVに出力される。

mongoexport -q 条件 -out [出力ファイル名].csv --csv --fields xx,yy,zz

データベースを指定する場合

mongoexport -d [データベース名] -out [出力ファイル名].csv --csv --fields xx,yy,zz

コレクションを指定する場合

mongoexport -d [データベース名] -c [コレクション名] -out[出力ファイル名].csv --csv --fields xx,yy,zz

バックアップ

mongodump -d [データベース名] -c [コレクション名]

リストア

mongorestore -d [データベース名] -c [コレクション名] xxx.bson

いかがでしたでしょうか?今回ご紹介したコマンド以外にも、

便利なコマンドがMongoDBにはたくさん用意されています。

うちではこんなコマンドをよく使ってるよ!等のご指摘ありましたらぜひコメントで教えてください!