说我有一个包含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>