Rya*_*ock 6 sql database mongodb
我一直在尝试了解 NoSQL,我确实看到了在文档中嵌入数据的好处。
我无法理解并希望有人能澄清的是,如果必须是关系数据,如何存储数据。
例如。
我有很多用户。他们都在购买产品。因此,每次他们购买产品时,我们都会将其添加到 mongo 中的用户文档下,因此它是嵌入式的,而且一切都很棒。
我遇到的问题是当与该产品相关的某些内容发生变化时。
假设用户 A 购买了一辆名为“保时捷”的汽车。然后,我们在用户配置文件下添加一个引用。然而,在一个奇怪的事件转折中,保时捷被法拉利收购。
你现在做什么,更新每一条记录,把名字从保时捷改成法拉利?
通常在 SQL 中,我们会创建 3 个表。一种用于用户,一种用于汽车(描述、型号等),一种用于将用户映射到购买。
你对 Mongo 也做同样的事情吗?似乎如果你沿着这条路走下去,你是在试图让 Mongo 以 SQL 的方式做事,这不是它的本意。
我可以理解某些数据非常适合嵌入(地址、联系方式、评论等),但是当您需要引用可以并且需要定期更改的数据时会发生什么?
我希望这个问题很清楚
DBRefs/Manual References 是专门为了解决这个问题而制定的。您可以存储对另一个集合的引用,而不是手动将数据添加到每个文档,然后在发生更改时需要更新。这里是 mongoDB 文档以获取详细信息。
然后您需要做的就是更新参考集合,更改将反映在所有下游位置。
归档时间: |
|
查看次数: |
3914 次 |
最近记录: |