如何列出mongo shell中的所有数据库?

时间:2014-09-20 10:46:26

标签: mongodb

我知道如何list all collections in a particular database,但如何在MongoDB shell中列出所有可用的数据库?

6 个答案:

答案 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

然后使用以下任何命令列出所有数据库。

  • 显示数据库
  • 显示数据库
  • db.adminCommand({listDatabases:1,nameOnly:true})

A snap shot

有关更多详细信息,请检查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()