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