如何列出mongo shell中的所有集合?

在MongoDB shell中,如何列出我正在使用的当前数据库的所有集合?


你可以做...

JS(shell):

db.getCollectionNames()

Node.js的:

db.listCollections()

非JS(仅限shell):

show collections

我称之为非JS的原因是因为:

$ mongo prodmongo/app --eval "show collections"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
2016-10-26T19:34:34.886-0400 E QUERY    [thread1] SyntaxError: missing ; before statement @(shell eval):1:5

$ mongo prodmongo/app --eval "db.getCollectionNames()"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
[
    "Profiles",
    "Unit_Info"
]

如果你真的想要那些甜美的show collections输出,你可以:

$ mongo prodmongo/app --eval "db.getCollectionNames().join('n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info

> show collections

将列出当前选定数据库中的所有集合,如命令行帮助( help )中所述。


如何列出我正在使用的当前数据库的所有集合?

3种方法

  • show collections
  • show tables
  • db.getCollectionNames()

  • 列出所有数据库:

    show dbs
    

    输入或使用给定的数据库:

    use databasename
    

    要列出所有集合:

    show collections
    

    输出:

    collection1  
    collection2  
    system.indexes
    

    (要么)

    show tables
    

    输出:

    collection1  
    collection2  
    system.indexes
    

    (要么)

    db.getCollectionNames()
    

    输出:

    [ "collection1", "collection2", "system.indexes" ]
    

    输入或使用给定的集合

    use collectionname
    
    链接地址: http://www.djcxy.com/p/50231.html

    上一篇: How to list all collections in the mongo shell?

    下一篇: MongoDB vs. Cassandra