首页 > 解决方案 > MongoDB 扩展参考模式 - 管理数据重复

问题描述

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

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

是否有某种 Mongo 巫术魔法可以帮助进行此类更新,或者这只是一个必然混乱的过程?

标签: mongodb

解决方案


您必须管理应用程序上的所有更改,因此在选择一种或另一种模式时必须小心,它们不是灵丹妙药。

请记住,并非所有数据都需要更新,具体取决于应用程序的情况、数据和上下文。


推荐阅读