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


当前回答

用于切换到数据库。

By:

使用{your_database_name}示例:

use friends

其中friends是数据库的名称。

然后写下:

db.getCollectionNames()
show collections

这将为您提供集合的名称。

其他回答

显示表

显示表格

or

db.getCollectionNames();

> show collections

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

我认为最大的困惑之一是使用mongo(或交互式/混合shell)与mongo-eval(或纯JavaScript shell)之间的区别。我将这些有用的文档放在手边:

交互式蒙哥和脚本蒙哥的区别Mongo Shell命令帮助程序

下面是一个脚本示例,您可以使用show命令执行以下操作:

# List all databases and the collections in them

mongo --eval "
    db.getMongo().getDBNames().forEach(
        function(v, i){
            print(
                v + '\n\t' +
                db.getSiblingDB(v).getCollectionNames().join('\n\t')
            )
        }
    )
"

注意:这是一个很好的单行程序。(但在堆栈溢出上看起来很糟糕。)

mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"

列出mongo shell中的所有集合:

db.getCollectionNames()显示表显示表格注意:集合将显示您所在的当前数据库目前

>显示表格

它给出了与卡梅伦的答案相同的结果。