我想设计一个带有一些评论的问题结构。注释应该使用哪种关系:嵌入还是引用?
一个带有注释的问题,比如stackoverflow,会有这样的结构:
Question
title = 'aaa'
content = 'bbb'
comments = ???
一开始,我想使用嵌入式注释(我认为MongoDB中推荐使用embed),像这样:
Question
title = 'aaa'
content = 'bbb'
comments = [ { content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'},
{ content = 'xxx', createdAt = 'yyy'} ]
这很清楚,但我担心这种情况:如果我想编辑一个指定的评论,我如何获得它的内容和它的问题?没有_id让我找到一个,也没有question_ref让我找到它的问题。(也许有一种方法可以做到这一点没有_id和question_ref?)
我必须使用ref而不是embed吗?然后我必须为评论创建一个新的集合吗?