퀴즈 응용 프로그램을 만들고 단일 컬렉션에 결과를 저장하고 싶습니다 ('QuizResults'라고 가정 해 봅시다). 또한 관리자가 컬렉션에 저장할 수있는 '퀴즈 템플릿'을 만들 수 있기를 바랍니다 ('QuizTemplates'라고합시다). 관리자는 특정 사용자에게 특정 퀴즈를 '할당'할 수 있어야하며 이러한 과제를 세 번째 컬렉션에서 추적 할 것입니다 ('QuizAssignments'라고합시다).문서를 기반으로 스키마 정의
QuizAssignments 컬렉션에서 각 문서는 'AssignedTo'사용자 참조를 가지며 'TemplateForQuiz'는 'QuizTemplates'컬렉션에 대한 참조로 사용됩니다.
각 QuizResults 문서에는 QuizAssignment 참조와 QuizTemplate 참조가 있어야하지만 나머지 문서는 서식 파일에 의해 지정되어야합니다.
이QuizTemplates:
QuizTemplate1:
Labels: ["What is 2+2?", "How do you say happy birthday in French?"]
Formats: [Number, String]
QuizTemplate2:
Labels: ["How do you say happy birthday in German?", "What is 3+3?"]
Formats: [String, Number]
QuizAssignments:
User: Reference - User model
QuizTemplate: Reference - QuizTemplates model
QuizResults:
User: Reference - User model
AssignedIn: Reference - QuizAssignments model
Template: Reference - QuizAssignments model
/* for (let i = 0; i < this.template.Labels; i++) {
let qnNo = `${i + 1}`;
this["question" + i] = {};
this["question" + i].label = this.template.Labels[i];
this["question" + i].type = this.template.Formats[i];
} */
사람이이를 구현하는 가장 좋은 방법에 어떤 아이디어가 있습니까 : 그래서 적절히 기록되지 단순화하려고 - 내가 생각하고 무엇의 예로서
?
: 1. 결과에 대한 스키마 잊어; 2. QuizTemplate 문서를 사용하여 양식을 구성하십시오. 3. 양식의 데이터가 특정 키 아래의 결과 문서에 삽입됩니다. 맞나요? –
1. 예, 앱이 데이터를 올바르게 처리해야합니다. 예를 들어 레일 앱에 루비가있을 수 있습니다. 모델의 구현은 유효성 검사와 구조를 담당합니다. 2. 예. 3. 예. 1에서 말했습니다. 그것은 데이터베이스가 아닌 애플리케이션의 작업입니다. –
고마워, 내가 제대로 이해했는지 확인하고 싶었어. –