【发布时间】:2014-03-13 22:08:27
【问题描述】:
第一次尝试使用 RavenDB 进行 NoSQL 开发。
让我困惑的一件事是我们应该如何处理存储的文档中的重复项。
假设我有一个故事(想想 BDD/ATDD):
{
Id: 10,
Title: 'Story 1'
}
然后我决定一个故事可以有一个或多个子故事。然后我创建另一个故事,然后将上面的故事作为子故事。
{
Id: 15,
Title: 'Title',
Stories: [ { Id: 10, Title: 'Story 1' }]
}
现在我有两个故事。如果我加载 ID=15 的故事并继续编辑 Stories 数组中的第一个故事,假设新标题为“子故事 1”,则原始故事保持不变。
我想了解的是:我在乎吗?如果我这样做,确保一切保持同步的最佳方法是什么?当子故事发生变化时,我希望原始故事也发生变化。这种事情的合适设计/解决方案是什么?
【问题讨论】: