我不熟悉MongoDB,我的问题很简短。问题的最佳结构是什么 - 答案集合。我应该将分开到不同的集合,还是将答案保留为问题的属性?为了给你更多细节:
userId
,votes
,当然还有answer
属性它将类似于stackoverflow,但更简单。提前谢谢。
答案 0 :(得分:1)
我会将它们保存在两个独立的集合中。正如您所说,您必须能够在问题集中进行查询以便进行问题收集,您只需要显示针对特定选定问题的答案,但是会像您提到的某些特定字段一样投票。例如,如果我们考虑stackoverflow,您会看到问题:点击问题 - >然后你可以查询答案集合以找到与该问题相关的答案,也可以找到答案,你可以有评论,如果你不期望疯狂,他们中的大部分可以与答案一起保存在列表中。你可以保留问题的答案带有引用和问题ID索引的集合。
像他的那样:
的问题:
{
"_id" : ObjectId("52205df3d6c893638bc2aa14"),
"q" : "What is hip?",
"v" : 1000
}
答案:
{
"_id" : ObjectId("52205e72d6c893638bc2aa15"),
"q_id" : ObjectId("52205df3d6c893638bc2aa14"),
"a" : "Tell me, tell me!",
"u" : "uid",
"v" : 153,
"c" : [
{
"c" : "Cool",
"u" : "uid",
"v" : 100
}
]
}