回答:
mongoDBコンソールですべてのデータベースを一覧表示するには、コマンドを使用しshow dbs
ます。
詳細については、mongoシェルで使用できるMongoシェルコマンドヘルパーを参照してください。
db
のショーを現在のデータベースがありtest
、ここで説明されているこのページのcomnmandsのいずれかを介してこれがリストされていないstackoverflow.com/q/38726310/73226
mongo
は、コマンドラインで(mongo --nodb
データベースに接続しないように)入力すると、シェルになります
show dbs
ドキュメントに行ったとき、show dbs
どこにもコマンドを見つけることができなかったので、単純なもののためにここに来なければなりませんでした。「ドキュメント」は時々かなりイライラすることがあります。
--eval
、インタラクティブシェル上では機能しません。この回答のオプションは機能します(ただし、出力形式は異なります)stackoverflow.com/a/32192253/1837991
MongoDBシェルバージョン3.0.5の場合、シェルに次のコマンドを挿入します。
db.adminCommand('listDatabases')
または代わりに:
db.getMongo().getDBNames()
mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'
hth
コマンドラインの問題から
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
出力を与える
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
シェルでmongodbデータベースを一覧表示するには
show databases //Print a list of all available databases.
show dbs // Print a list of all databases on the server.
いくつかの基本的なコマンド
use <db> // Switch current database to <db>. The mongo shell variable db is set to the current database.
show collections //Print a list of all collections for current database.
show users //Print a list of users for current database.
show roles //Print a list of all roles, both user-defined and built-in, for the current database.
私はadmin()/ othersが機能しなかった1つの解決策を見つけました。
const { promisify } = require('util');
const exec = promisify(require('child_process').exec)
async function test() {
var res = await exec('mongo --eval "db.adminCommand( { listDatabases: 1 }
)" --quiet')
return { res }
}
test()
.then(resp => {
console.log('All dbs', JSON.parse(resp.res.stdout).databases)
})
test()
show dbs
はmongo consoleにあります。質問を投稿する前useful links
に、mongodbタグwikiのセクションを参照してください。