TL;博士 我的架构可以吗?
我今年的决心是学习新东西,我选择学习一些非相关数据库,即Mongo。我目前正在开发一个使用mongo作为数据库引擎的简单应用程序。
我正在处理的应用程序是一个简单的问卷调查应用程序:admin创建问题,(登录)用户回答它们。所以:用户有很多答案属于问题。 这样一个应用程序最合适的架构是什么?我自己创建了下一个架构(伪),但我想知道你是否有任何提示/技巧来解决这个问题。
users [
{
# some required fields to authenticate the user
email: j.doe@example.com,
password: ...
etc.
# next fields are this users answers to a question
# the key is the question's id, it's value the answer
1: 'John',
2: 'Doe',
},
]
questions [
{ # no 1 (I know id's in mongo aren't numbered this way,
# this is just for the sake of readability.
question: What is your first name?,
type: open,
required: true,
},
{ # no 2
question: What is your last name?,
type: open,
required: false,
},
# and so on.
]
答案 0 :(得分:1)
我会在问题集中移动答案:
{_id: 1,
question: "?",
type: "open",
required: true,
answered: [
{email: "j.doe@example.com", answer: "John"},
{email: "bob@example.com", answer: "Bob"},
]
}
同样使用动态字段(如答案ID)将无法为其编制索引。