在MongoDB shell中,如何列出当前使用的数据库的所有集合?
当前回答
在>=2.x时,您可以
db.listCollections()
在1.x上,您可以做到
db.getCollectionNames()
其他回答
我认为最大的困惑之一是使用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'))})"
在>=2.x时,您可以
db.listCollections()
在1.x上,您可以做到
db.getCollectionNames()
除了其他人建议的选项外:
show collections // Output every collection
show tables
db.getCollectionNames() // Shows all collections as a list
如果您想知道每个集合是如何创建的(例如,它是一个具有特定大小的上限集合),还有另一种方法非常方便:
db.system.namespaces.find()
显示表
或
显示表格
or
db.getCollectionNames();
用于显示MongoDB数据库中所有集合的命令是
show collections
在运行show collections命令之前,必须选择数据库:
use mydb // mydb is the name of the database being selected
要查看所有数据库,可以使用以下命令
show dbs // Shows all the database names present
有关详细信息,请参阅入门。
推荐文章
- 如何排序mongodb与pymongo
- 如何在mongodb上导入。bson文件格式
- JSON文件的蒙古导入
- 如何删除mongodb中的数组元素?
- 修改MongoDB数据存储目录
- 在MongoDB中查找重复的记录
- 为什么MongoDB Java驱动在条件中使用随机数生成器?
- 在猫鼬,我如何排序的日期?(node . js)
- 将映像存储在MongoDB数据库中
- 重复Mongo ObjectId的可能性在两个不同的集合中生成?
- Redis比mongoDB快多少?
- 无法连接到服务器127.0.0.1:27017
- 如何创建数据库的MongoDB转储?
- 如何将MongoDB作为Windows服务运行?
- 如何监听MongoDB集合的变化?