在MongoDB shell中,如何列出我正在使用的当前数据库的所有集合?
答案 0 :(得分:1073)
你可以......
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
答案 1 :(得分:404)
> show collections
将列出当前所选数据库中的所有集合,如命令行帮助(help
)中所述。
答案 2 :(得分:250)
如何列出我当前使用的数据库的所有集合?
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
答案 3 :(得分:51)
> show tables
它的结果与Cameron的答案相同。
答案 4 :(得分:20)
首先,您需要使用数据库来显示其中的所有集合/表。
>show dbs
users 0.56787GB
test (empty)
>db.test.help() // this will give you all the function which can be used with this db
>use users
>show tables //will show all the collection in the db
答案 5 :(得分:14)
您可以使用show tables
或show collections
答案 6 :(得分:13)
尝试:
help // To show all help methods
show dbs // To show all dbs
use dbname // To select your db
show collections // To show all collections in selected db
答案 7 :(得分:11)
用于显示mongoDb数据库中所有集合的命令是
show collections
在运行show collections命令之前,您必须选择数据库
use mydb //mydb is the name of the database being selected
要查看所有数据库,您可以使用命令
show dbs // shows all the database names present
有关详细信息,请访问此链接:http://docs.mongodb.org/manual/tutorial/getting-started/
答案 8 :(得分:10)
如果要显示mongodb shell(命令行)中的所有集合,请使用shell helper
show collections
显示当前数据库的所有集合。 如果要从应用程序中获取所有集合列表,则可以使用mongodb数据库方法
db.getCollectionNames()
有关mongodb shell帮助器的更多信息,您可以看到 http://docs.mongodb.org/manual/reference/mongo-shell/
答案 9 :(得分:9)
mongoshell上的以下命令很常见
the trust
此外,
show databases
show collections
有时查看集合中的所有集合以及集合中的索引是有用的:
在这里,您将如何做到这一点:
show dbs
use mydb
db.getCollectionNames()
在3个命令和这个片段之间你应该得到很好的覆盖!
答案 10 :(得分:6)
我认为最大的混淆之一是你可以用mongo
(或交互式/混合shell)与mongo --eval
(或纯javascript 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')
)
}
)
"
注意:作为oneliner,它非常有效。 (但在StackOverflow上看起来很糟糕。)
mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"
答案 11 :(得分:2)
在> = 2.x上,您可以
db.listCollections()
在1.x上你可以做到
db.getCollectionNames()
答案 12 :(得分:2)
用于切换到数据库。 通过:- 使用{your_database_name} 示例:
use friends
其中friends是数据库的名称。
然后写: -
db.getCollectionNames()
show collections
这将为您提供集合的名称。
答案 13 :(得分:1)
列出mongo shell中的所有集合:
- db.getCollectionNames()
- 显示收藏夹
- 显示表格
注意:集合将从当前所在的数据库中显示出来 当前
答案 14 :(得分:0)
> show dbs
anuradhfirst 0.000GB
local 0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
mongo
与mongo数据库连接,这将启动连接。show dbs
命令,这将显示所有退出/可用的数据库。database
。在anuradhfirst
之上,然后运行use anuradhfirst
。这将切换到您想要的数据库。show collections
命令,这将显示所选数据库中的所有collections
。答案 15 :(得分:0)
展示收藏品
一旦切换到数据库,此命令通常适用于mongo shell。
答案 16 :(得分:0)
对于使用WiredTiger存储引擎的MongoDB 3.0部署,如果 您从mongo shell的版本运行
db.getCollectionNames()
3.0版之前或3.0兼容版之前的驱动程序版本,db.getCollectionNames()
将不会返回任何数据,即使有数据也是如此 现有的藏品。
有关详细信息,请参阅this
答案 17 :(得分:0)
0
每个收藏的详细信息
1. show collections; //Display all collection
2. show tables //Display all collection
3. db.getCollectionNames(); // Retuen array of collection Example :[ "orders", "system.profile" ]
答案 18 :(得分:0)
为此,我使用listCollections
(支持mongo 3.0及更高版本)。
示例:
db.runCommand({ listCollections: 1, filter: {}, nameOnly: true });
要获取更多信息,例如集合索引:
db.runCommand({ listCollections: 1, filter: {}, nameOnly: false });
仅打印集合名称:
db.runCommand({ listCollections: 1, filter: {}, nameOnly: true }).cursor.firstBatch.forEach(v => {print(v.name)})
我觉得这提供了更大的灵活性。
了解更多:https://docs.mongodb.com/manual/reference/command/listCollections/
答案 19 :(得分:0)
show collections
或
show tables
或
db.getCollectionNames();
答案 20 :(得分:-1)
使用来自mongo shell的以下命令: - 展示收藏品