今回は業務でよく使う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にはたくさん用意されています。
うちではこんなコマンドをよく使ってるよ!等のご指摘ありましたらぜひコメントで教えてください!