我一直在努力让自己的头部围绕NoSQL,并且看到将数据嵌入到文档中的好处。在MongoDB中存储关系数据(NoSQL)
我不明白,希望有人能清除,是如何存储数据,如果它必须是关系。
例如。
我有很多用户。他们都在购买产品。所以每次他们购买产品时,我们都会将它添加到mongo的用户文档中,因此它的嵌入性和全部功能都很棒。
我遇到的问题是当涉及到该产品的某些内容发生变化时。
假设用户A购买了名为“Porsche”的汽车。然后,我们在用户配置文件中添加一个引用。然而,在一场奇怪的比赛中,保时捷被法拉利收购。
你现在正在做什么?更新每一条记录并更改保时捷到法拉利的名称?
通常在SQL中,我们将创建3个表。一个用于用户,一个用于汽车(描述,型号等)&一个用于映射用户购买。
你对Mongo做同样的事吗?看起来如果你沿着这条路线走下去,你试图让Mongo做SQL的方式,这不是它的目的。
我可以理解某些数据对于嵌入(地址,联系人详细信息,注释等)的好处,但是当您需要引用可以并需要定期更改的数据时会发生什么情况?
我希望这个问题是清楚的
如果数据是关系数据,请将其存储在关系数据库中。 – David