在MongoDB shell中,如何列出当前使用的数据库的所有集合?
当前回答
为此,我使用listCollections(支持MongoDB 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)})
我觉得这提供了更多的灵活性。
阅读更多:listCollections
其他回答
除了其他人建议的选项外:
show collections // Output every collection
show tables
db.getCollectionNames() // Shows all collections as a list
如果您想知道每个集合是如何创建的(例如,它是一个具有特定大小的上限集合),还有另一种方法非常方便:
db.system.namespaces.find()
可以使用显示表或显示集合。
如果要显示MongoDB shell(命令行)中的所有集合,请使用shell助手,
show collections
显示当前数据库的所有集合。如果您想从应用程序中获取所有集合列表,那么可以使用MongoDB数据库方法
db.getCollectionNames()
有关MongoDB shell助手的更多信息,请参阅mongoShell快速参考。
>显示表格
它给出了与卡梅伦的答案相同的结果。
显示表
或
显示表格
or
db.getCollectionNames();
推荐文章
- MongoDB在v4之前不兼容ACID意味着什么?
- 显示所有集合中的所有内容
- MongoDB:更新一个字段上的每个文档
- 我如何在MongoDB中部分更新一个对象,以便新对象将覆盖/合并现有的一个
- MongoDB的命名约定是什么?
- MongoDB在尝试插入整数时插入浮点数
- 通过将useNewUrlParser设置为true来避免“当前URL字符串解析器已弃用”警告
- 如何查询嵌套对象?
- NoSQL (MongoDB) vs Lucene(或Solr)作为您的数据库
- 如何重命名MongoDB中所有文档的字段?
- 如何复制一个集合从一个数据库到另一个在MongoDB
- 比较mongoose _id和字符串
- MongoDB:如何将多个集合中的数据合并为一个?
- MongoDB - admin用户未授权
- 如何在MongoDB的shell中打印出超过20个项目(文档)?