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

wkyowqbh  于 2022-10-04  发布在  Go
关注(0)|答案(7)|浏览(179)

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

g6baxovj

g6baxovj1#

在MongoDB控制台中列出所有数据库是使用命令show dbs

有关mongo外壳命令的更多信息,请参阅Mongo Shell Quick Reference

pbwdgjma

pbwdgjma2#

对于数据库列表:

show databases
show dbs

对于表格/集合列表:

show collections
show tables
db.getCollectionNames()
zvms9eto

zvms9eto3#

对于MongoDB外壳3.0.5版,在外壳中插入以下命令:

db.adminCommand('listDatabases')

或者,也可以:

db.getMongo().getDBNames()
sxissh06

sxissh064#

从命令行发出

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
}
nle07wnf

nle07wnf5#

列出外壳上的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.
vuv7lop3

vuv7lop36#

有几个命令可以列出MongoDB外壳中的所有数据库。

首先,使用‘mongo’命令启动MongoDB外壳。
蒙戈

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

  • 秀星播
  • 显示数据库
  • db.adminCommand({list数据库:1,nameOnly:True})

有关详细信息,请查看here

谢谢。

nr7wwzry

nr7wwzry7#

我找到了一个解决方案,其中admin()/其他方法不起作用。

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()

相关问题