データベースをリストするコマンド:show dbs vs. db.getMongo().getDBNames()
MongoDBシェルで全てのデータベースをリストする方法
show dbs
コマンドは、現在の接続先にある全てのデータベースの名前を表示します。これは最も簡単で分かりやすい方法です。
mongo
show dbs
出力例:
admin 0
config 0
local 0
test 0
db.getMongo().getDBNames()
は、現在の接続先にある全てのデータベースの名前を配列として返します。
mongo
db.getMongo().getDBNames()
[ "admin", "config", "local", "test" ]
js
コマンドを使って、JavaScriptコードを実行することができます。以下のコードは、現在の接続先にある全てのデータベースの名前をループ処理で表示します。
mongo
js
var dbs = db.getMongo().getDBNames();
for (var i = 0; i < dbs.length; i++) {
print(dbs[i]);
}
admin
config
local
test
db.adminCommand("listDatabases")
は、listDatabases
コマンドを実行して、その結果を返します。
mongo
db.adminCommand("listDatabases")
{
"databases" : [
{
"_id" : 1,
"name" : "admin"
},
{
"_id" : 2,
"name" : "config"
},
{
"_id" : 3,
"name" : "local"
},
{
"_id" : 4,
"name" : "test"
}
]
}
これらの方法のいずれでも、MongoDBシェルで全てのデータベースをリストすることができます。どの方法を使うかは、あなたの好みや状況によって決めてください。
補足
show dbs
コマンドは、db.getMongo().getDBNames()
よりも高速に動作します。db.getMongo().getDBNames()
は、show dbs
コマンドよりも多くの情報を提供します。js
コマンドを使って、データベースの名前を処理したり、フィルタリングしたりすることができます。
// 1. `show dbs`コマンドを使う
mongo
show dbs
// 2. `db.getMongo().getDBNames()`を使う
mongo
db.getMongo().getDBNames()
// 3. `js`コマンドを使う
mongo
js
var dbs = db.getMongo().getDBNames();
for (var i = 0; i < dbs.length; i++) {
print(dbs[i]);
}
// 4. `db.adminCommand("listDatabases")`を使う
mongo
db.adminCommand("listDatabases")
このサンプルコードを実行すると、現在の接続先にある全てのデータベースの名前が表示されます。
admin
config
local
test
このサンプルコードを参考に、ニーズに合った方法でMongoDBシェルで全てのデータベースをリストしてみてください。
他の方法
db.stats()
コマンドは、現在のデータベースの統計情報を表示します。この情報には、データベースの名前も含まれています。
mongo
db.stats()
{
"db" : "test",
"collections" : 0,
"objects" : 0,
"avgObjSize" : 0,
"dataSize" : 0,
"storageSize" : 4096,
"fileSize" : 4096,
"nsSize" : 4096,
"indexes" : 0,
"totalIndexSize" : 0,
"indexSizes" : {},
"ok" : 1
}
mongodump
コマンドは、データベースをダンプします。ダンプファイルには、データベースの名前も含まれています。
mongodump --uri mongodb://localhost:27017/test --out /tmp/test
Robo 3TなどのGUIツールを使っても、MongoDBのデータベースをリストすることができます。
これらの方法は、上記で紹介した方法よりも複雑ですが、より多くの情報を提供することができます。ニーズに合った方法を選んでください。
database mongodb mongodb-query