我开始使用Raven DB,并试图围绕不同的文档模型范例...
如何构建以下内容,同时能够一次访问一个事件,列出相册,并在其中列出图像。
此外,我需要一个灯箱,存储来自不同相册的单个图像。
+ Event
+ Album
+ Image
+ Image
+ Album
我尝试计算出我的根聚合,但是无论如何构建它,我最终得到Events
,Albums
和Images
,所有这些都是顶层元素,因为我需要单独解决它们。然而,这似乎是来自关系方案的直接副本,这实际上并不实用。
你会如何构建这个?
答案 0 :(得分:1)
我会将图像存储为附件。这假设没有需要与图像一起存储的元数据。然后,在每张专辑中,我只会将网址存储到图像中。
我不确定这个模型中“事件”的含义。专辑文档在事件之外是否有任何意义?如果没有,那么我只会有一个包含整个图表的事件文档。 我猜不是这种情况,并且你想要在事件的上下文之外访问专辑。
接下来的问题,是否可以从文档中推断出事件?如果是这样,那么我根本不会对事件建模,只是将它定义为索引的一部分。再一次,我猜这是不的情况。
如果这两者真的是分开的,那么可以想到剩下的两个选择。
只要事件持续存在,只需复制相册数据即可。特别是如果专辑数据很少改变。
将相册存储为链接,并在检索时使用包含。