MongoDB扩展引用模式-管理数据复制



我是MongoDB的新手,并试图围绕管理重复数据来包装我的头。扩展引用模式(链接)就是一个很好的例子。当您有两个相关的集合(例如,Customers和Orders)时,出于性能考虑,复制一些本来只存在于引用集合中的信息是有意义的。例如,Order集合可能会重复客户的姓名,以避免与某些查询进行不必要的连接。

我完全明白。我完全理解您应该小心复制的数据("如果[复制的字段]不经常更改,则效果最好"),因为更新这些记录可能会很昂贵。我不明白的是你要怎么追踪所有数据的存放地点。假设您确实需要更新客户的姓名。如果该信息在订单集合中的多个订单中重复,再加上一个或两个其他集合,那么跟踪所有客户名称的位置(以及更改它的机制)听起来就像一场后勤噩梦!

是否有某种Mongo巫术可以帮助这些类型的更新,或者这只是一个必要的混乱过程?

你必须管理应用程序上的所有更改,所以你必须小心选择一个或另一个模式,它们不是灵丹妙药。

,记住不是所有的数据都需要更新,这取决于情况,数据和应用程序的上下文。

最新更新