第一次使用RavenDB开发NoSQL开发。
令我困惑的一件事是我们应该如何处理存储的文档中的重复项。
假设我有一个故事(想想BDD / ATDD):
{
Id: 10,
Title: 'Story 1'
}
然后我决定一个故事可以有一个或多个子故事。然后,我创建了另一个故事,然后将故事作为一个子故事。
{
Id: 15,
Title: 'Title',
Stories: [ { Id: 10, Title: 'Story 1' }]
}
现在我有两个故事。如果我加载ID = 15的故事并继续编辑Stories数组中的第一个故事,那么,使用新标题“Sub-story 1”,原始故事保持不变。
我想要了解的内容:我在乎吗?如果我这样做,确保一切都保持同步的最佳方法是什么?当子故事发生变化时,我希望原始故事也能改变。这种东西的适当设计/解决方案是什么?
答案 0 :(得分:0)
快速回答是你不应该对这样的事情进行建模。 请参阅:http://ayende.com/blog/156353/entities-associations-point-in-time-vs-current-associations