我知道如何list all collections in a particular database,但如何在MongoDB shell中列出所有可用的数据库?
答案 0 :(得分:163)
列出mongoDB控制台中的所有数据库都使用命令show dbs
。
有关此内容的更多信息,请参阅可在mongo shell中使用的Mongo Shell Command Helpers。
答案 1 :(得分:42)
你也可以尝试这个
对于数据库列表---
show databases
show dbs
表格/收藏清单---
show collections
show tables
db.getCollectionNames()
希望这会有所帮助..
答案 2 :(得分:27)
从命令行问题
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
}
答案 3 :(得分:1)
要在shell上列出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.
答案 4 :(得分:1)
使用命令对可以列出MongoDB shell中的所有数据库。
首先,使用“ mongo”命令启动Mongodb Shell。
mongo
然后使用以下任何命令列出所有数据库。
有关更多详细信息,请检查here
谢谢。
答案 5 :(得分:0)
我找到了一个解决方案,其中admin()/ others无法正常工作。
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()