我正在构建一个小型的Node/Mongo应用,每天为用户提供最多3个问题。用户只能回答“是”或“否”,并在稍后确定正确的答案(这些问题更接近预测)。目前,我有这些文件:测验网站的Mongo架构
- 用户
- ID
- 问题
- ID
- 问题答案
- ID
- question_id(REF)
- UserAnswer
- ID
- question_id(REF)
- USER_ID(REF)
什么是查询的最有效方法分贝,所以我得到今天的问题,但也检查用户是否已经回答了这个问题?我觉得我正在超越它。我尝试了一些似乎过分矫枉过正的方法。
为什么你在NoSQL数据库中建立了太多的关系,你可以将UserAnswer对象添加到用户和QuestionAnswer对象中。和$ push和$ pull关键字使您的查询回答 –
不会将UserAnswer对象添加到用户一段时间后创建一个大型的用户对象?每次用户提交问题答案时,都会将其推送到文档。 –
这是使用NoSQL的主要好处,您可以通过一个查询获取整个数据并保存到您的全局变量中,并在需要显示时使用它,它将快速反复查询 –