MongoDB架构设计-处理单个架构的变体

时间:2018-11-19 16:07:02

标签: json mongodb database-design nosql database-schema

说我有一个包含books的mongoDB集合:有些书有章节,所以book collection由多个章节组成(每个章节都包含一些文本);现在说有些书确实有章节,但是在它们的章节中有子章节;因此,在这种情况下,实际文本包含在子章节中。但其他书籍根本没有章节(例如一些文学作品):这里只有大量的文字;

我如何设计一个在某些情况下可容纳book但在其他情况下却不包含任何章节的MongoDB模式chapters + texts

到目前为止,我想到的唯一解决方案是创建多个架构:

伪代码:

带有章节的书:

chapters & subchapters + texts

{
 chapters: [Chapter], //array of chapters
}

,然后是带有子章节的图书:

带有子章节的书:

{
 text: text,  (as string)
}

ChapterWithSubchapters:

{
 chapters: [ChapterWithSubChapters],
}

子章节:

{
 subchapters: [subchapter]
}

..但这对我来说似乎不太灵活。

PS:很抱歉,如果我在{ text: text, (as string) } schema上使用了错误的用语,-您对此问题可能并不完全了解,因此我对该主题并不完全确定并且还很陌生。 / p>

0 个答案:

没有答案