在MongoDB University 学习更多关于MongoDB的知识和技能 |

贯穿整个《利用模式进行构建》,我希望你已经了解到一件事,即模式是什么样子取决于数据的访问方式。如果我们有许多相似的字段,属性模式可能是一个很好的选择。为了适配一小部分数据的访问会极大地改变我们的应用程序吗?也许异常值模式是值得考虑的。还有一些模式,例如子集模式,会引用额外的集合,并依赖JOIN操作将每个数据块重新组合在一起。如果需要大量的JOIN操作来聚集那些需要频繁访问的数据,这时要怎么办呢?这就是我们可以使用扩展引用模式的地方。
扩展引用模式
有时将数据放置在一个单独的集合中是有道理的。如果一个实体可以被认为是一个单独的“事物”,那么使其拥有单独的集合通常是有意义的。例如在一个电子商务应用中,存在订单的概念,就像客户和库存一样,它们都是独立的逻辑实体。

然而从性能的角度来看,