假设您具有路由器的默认设置,并且对于某个路由器,您要自定义某些设置。
哪种方式更好?
将默认设置保存在数据库内的文档中,并将修改保存在另一个文档中,或者将修改后的设置保存在一个文档中?
假设这里有许多路由器具有不同的配置或修改默认设置。
答案 0 :(得分:0)
在这种情况下,我不确定“路由器”是什么,但这里有一些制定此类数据建模决策的一般指导原则:
由于没有跨文档连接功能,因此您比使用关系数据库时更倾向于使用单一文档方法。
您需要考虑可能会发生什么变化,以及以何种方式变化?因此,例如,如果默认值可能会更改,则默认值+差异方法可能不会提供任何优势。您必须浏览每个差异文档,并确保它为您更改的任何内容指定了旧默认值,除非您可以更改现有用户设置。
使用单文档策略更改设置的逻辑应该更简单,以便有利于单文档方法。我认为你甚至可以避免在数据库中使用默认值。只需将它们放入您的代码中即可。
此外,我怀疑您将阅读这些配置的次数比您要更改它们的次数多。单文档方法只需要往返数据库一次,所以再次受到青睐。
希望有所帮助。