简述:
当集合中的所有文档都具有相似但不相同的结构时,我们将其称为多态模式
实例:
实际业务中需要用到是用户帖子,帖子的大致结构是相同的,但是其具体内容是根据不同帖子类型需要显示内容是不同的。所以这个时候使用多态模式比较适合,单个查询可以便可以得到全部帖子以及其内容,提高了性能。如下图:
总结:
当文档具有更多的相似性而不是差异性时,就会使用多态模式。这种模式设计的典型用例是:
单一视图应用程序
内容管理
移动应用程序
产品目录
多态模式提供了一个易于实现的设计,允许在单个集合中进行查询。这也是 mongodb 的无 schema 设计提供一个便利数据构建功能。