是否有可能在MongoDB中显示所有的集合及其内容?
唯一的办法是一个一个地展示吗?
是否有可能在MongoDB中显示所有的集合及其内容?
唯一的办法是一个一个地展示吗?
当前回答
如果你使用mongo shell,我更喜欢另一种方法:
首先,另一个回答:使用my_database_name然后:
db.getCollectionNames().map( (name) => ({[name]: db[name].find().toArray().length}) )
这个查询将显示如下内容:
[
{
"agreements" : 60
},
{
"libraries" : 45
},
{
"templates" : 9
},
{
"users" : 19
}
]
你可以使用db.getCollectionInfos()类似的方法,如果你有这么多数据,它是非常有用的。
其他回答
如果你使用mongo shell,我更喜欢另一种方法:
首先,另一个回答:使用my_database_name然后:
db.getCollectionNames().map( (name) => ({[name]: db[name].find().toArray().length}) )
这个查询将显示如下内容:
[
{
"agreements" : 60
},
{
"libraries" : 45
},
{
"templates" : 9
},
{
"users" : 19
}
]
你可以使用db.getCollectionInfos()类似的方法,如果你有这么多数据,它是非常有用的。
这样做:
db.getCollectionNames().forEach(c => {
db[c].find().forEach(d => {
print(c);
printjson(d)
})
})
这种方式:
db.collection_name.find().toArray().then(...function...)
在写下面的查询之前,首先进入你的cmd或PowerShell
TYPE:
mongo //To get into MongoDB shell
use <Your_dbName> //For Creating or making use of existing db
列出所有的收藏名称使用任何一个从以下选项:-
show collections //output every collection
OR
show tables
OR
db.getCollectionNames() //shows all collections as a list
要显示所有集合内容或数据使用下面列出的代码,已发布的Bruno_Ferreira。
var collections = db.getCollectionNames(); For (var I = 0;我< collections.length;我+ +){ print('Collection: ' + collections[i]);//打印每个集合的名称 db.getCollection(集合[我]);().forEach (printjson);//然后打印每个元素的json }
进入终端/命令行后,按如下方式访问您想要使用的数据库/集合:
show dbs
use <db name>
show collections
选择您的集合并键入以下内容以查看该集合的所有内容:
db.collectionName.find()
更多信息请参阅MongoDB快速参考指南。