MongoDB 显示所有集合中的所有内容
Posted
技术标签:
【中文标题】MongoDB 显示所有集合中的所有内容【英文标题】:MongoDB Show all contents from all collections 【发布时间】:2014-09-19 01:49:56 【问题描述】:是否可以在 MongoDB 中显示所有集合及其内容?
只有一个一个显示的方法吗?
【问题讨论】:
【参考方案1】:如果您使用mongo
shell,我更喜欢另一种方法:
首先作为另一个答案:use my_database_name
然后:
db.getCollectionNames().map( (name) => ([name]: db[name].find().toArray().length) )
此查询将显示如下内容:
[
"agreements" : 60
,
"libraries" : 45
,
"templates" : 9
,
"users" : 19
]
您可以使用与 db.getCollectionInfos()
类似的方法,如果您有这么多数据并且也很有帮助,它会非常有用。
【讨论】:
使用count()
代替find()
: db.getCollectionNames().map( (name) => ([name]: db[name].count()) )
【参考方案2】:
这样就可以了:
db.getCollectionNames().forEach(c =>
db[c].find().forEach(d =>
print(c);
printjson(d)
)
)
【讨论】:
【参考方案3】:这边:
db.collection_name.find().toArray().then(...function...)
【讨论】:
【参考方案4】:在编写以下查询之前,请先进入您的 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; i< collections.length; i++)
print('Collection: ' + collections[i]); // print the name of each collection
db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements
【讨论】:
最佳解决方案,显示我收藏的内容!【参考方案5】:进入终端/命令行后,访问您要使用的数据库/集合,如下所示:
show dbs
use <db name>
show collections
选择您的收藏并键入以下内容以查看该收藏的所有内容:
db.collectionName.find()
更多信息请点击MongoDB Quick Reference Guide。
【讨论】:
请将此作为正确答案。您只能通过编写代码来查看所有集合中的所有内容,而不是通过cli查询 如果你需要在视觉上整理呈现给你的收藏,我也推荐:db.collectionName.find().pretty()
请记住,如果您在集合名称中包含某些字符(如连字符),这将不起作用。在这种情况下使用db["collection-name"].find()
感谢@Bossan 的澄清。帮了大忙。【参考方案6】:
var collections = db.getCollectionNames();
for(var i = 0; i< collections.length; i++)
print('Collection: ' + collections[i]); // print the name of each collection
db.getCollection(collections[i]).find().forEach(printjson); //and then print the json of each of its elements
我认为这个脚本可能会得到你想要的。它打印每个集合的名称,然后在 json 中打印其元素。
【讨论】:
以上是关于MongoDB 显示所有集合中的所有内容的主要内容,如果未能解决你的问题,请参考以下文章
Golang mongodb 从集合中删除所有项目 [mgo.v2]