我接管了一个包含现有MongoDB的项目。我想获得现有数据的可视图像(图表等)。显然,与MySQL相比,MongoDB的情况大不相同,但我想还有一些可以直观的东西?
答案 0 :(得分:7)
这实际上取决于您对“可视化”的要求。通常,关系数据库的图表的大多数更有趣的视觉方面是高级关系和完整性约束(1:1,1:许多,主键,外键等)。
MongoDB具有灵活架构,因为给定集合中的文档不必遵循预定格式。这并不意味着底层数据不能拥有某种组织......只是没有对集合施加单一模式(就像在传统的关系数据库中那样)。
在MongoDB中,可视化的许多有趣细节需要通过检查集合中的部分或全部文档或通过查看代码进行分析。
如果您的应用程序使用ODM(对象文档映射器),例如Mongoose(Node.js)或Morphia(Java),则应用程序代码可以提供快速和描述性的预期视图schema(或至少是预期架构的最新版本)。适当的语言文档工具(例如jsdoc
或javadoc
)可能有助于生成模型类的合理概述。您可能需要添加一些文档注释才能获得最佳结果。
模式分析是一种更强力的方法,它涉及查看数据以推断观察到的模式。一种常见的方法是使用Map/Reduce。
有一些不同的mongo
shell帮助器可以让您了解集合的一般结构(例如,字段/数据类型及其在源文档中的覆盖范围):
这些不是可视的(在图形意义上),但架构分析结果确实提供了对数据的预期形状和常见变体的洞察。
MongoDB服务器不支持外键关系,这会删除许多可能有趣的视觉注释。
创建Database References (DBRefs)时有一些不同的客户端驱动程序方法,但这些方法遵循使用惯例而非服务器功能。为了使用DBRefs确定集合之间的关系,必须扫描集合中的部分或全部文档。 variety
或schema.js
尚不支持推断关系。
为了更好地了解实际内容,您可以尝试其中一个Admin UIs。
答案 1 :(得分:4)
您可以使用Mongo3或futon4mongo,MogoVue最适用于此。
整个记录的工具列表为here。
答案 2 :(得分:1)