Far*_*ROJ 4 schema-design mongodb nosql mongodb-query
我有一个动态问答的当前关系模型。我正在尝试查看是否可以将架构转换为 MongoDB 以提高性能和灵活性。
我们基本上有一系列问题和问题类型。这些问题被放在一个问题集中。
问题按特定顺序提出,但对于某些问题,根据答案,下一个问题可能会有所不同。
例如,如果 Q1=YES 那么问问题 Q9 否则问问题 Q2
关于如何在没有我目前使用的各种关系 tavles 的情况下设计这种模式的任何想法?
沿着这个结构的路线怎么样:
{
"Questions" :
[
{
"QuestionNumber": "Q1",
"QuestionType" : "YESNO",
"QuestionText" : "Are you happy today?",
"Answers" :
[
{
"Text" : "YES",
"NextQuestionIfAnswered" : "Q9"
},
{
"Text" : "No",
"NextQuestionIfAnswered" : "Q2"
}
],
},
{
"QuestionNumber": "Q2",
"QuestionType" : "MULTIPLE",
"QuestionText" : "Why aren't you happy?",
"Answers" :
[
{
"Text" : "Dog died",
"NextQuestionIfAnswered" : ""
},
{
"Text" : "I'm just generally sad",
"NextQuestionIfAnswered" : ""
}
],
},
{
"QuestionNumber": "Q9",
"QuestionType" : "TEXTBOX",
"QuestionText" : "Type why you are happy into the box below",
"Answers" : []
}
]
}
Run Code Online (Sandbox Code Playgroud)
因此,您有一系列问题,每个问题都有一个问题编号、问题类型(用于呈现决策),并且每个可能的答案都包含您在选择指定答案时导航到的问题编号。
您还可以通过在数组中的每个“答案”上添加 userAnswer 属性来存储用户对本文档中每个问题的答案。但是根据您的用户数量,您可能希望将其保存在一个单独的集合中。
| 归档时间: |
|
| 查看次数: |
3584 次 |
| 最近记录: |