2016-09-21 5 views
0

私はこれを良いタイトルにしているとは思わないが、私は口頭で表現するのが難しいと思っている。中央のコレクションに各ユーザーに文書のコピーを与える方法

私は、各ユーザーがアクセスできる複数の選択肢の質問がある場合にアプリケーションを構築しています。

複数の選択肢試験のそれぞれの「コピー」に各ユーザーがアクセスできるようにするにはどうすればよいですか?

私がやっていることは、アカウント作成時に各選択肢の質問すべてのすべての質問のコピー全体を各ユーザーに追加することですが、これは本当にすごく手早くなり、将来的には質問や試験の変更は悪夢になります。

試験を収容するコレクションが1つあり、各ユーザーがその試験の自分の「コピー」にアクセスして回答などを記録する方法はありますか?試験のコレクションを持っているあなたのデータベースを設定し、各ユーザーの回答をするだろう

答えて

1

一つの方法は、彼らの答えと分別収集及び試験への参照IDとユーザーに保存することができ

感謝答えはに属します。以下は理解しやすい例です。

試験採取試料データ:

{ 
    examId: 001, 
    examType: "multiple-choice", 
    examQuestions: [ 
    { 
     questionNumber: 01, 
     questionText: "How many collections should I use?", 
     questionChoices: [ 
     { 
      choice: "five", 
      correct: 0 
     }, 
     { 
      choice: "three", 
      correct: 0 
     } 
     { 
      choice: "one", 
      correct: 0 
     } 
     { 
      choice: "two", 
      correct: 1 
     } 
     ] 
    }, 
    { 
     questionNumber: 02, 
     questionText: "What should I call my exams collection?", 
     questionChoices: [ 
     { 
      choice: "tests", 
      correct: 0 
     }, 
     { 
      choice: "exams", 
      correct: 1 
     } 
     { 
      choice: "icecream", 
      correct: 0 
     } 
     { 
      choice: "bob", 
      correct: 0 
     } 
     ] 
    } 
    ] 
} 

userAnswers収集サンプルデータ:

{ 
    userId: "j23owdd9sJDO(Ee09kd", 
    examId: 001, 
    examAnswers: [ 
    { 
     questionNumber: 01, 
     questionAnswer: "two", 
     correct: 1 
    }, 
    { 
     questionNumber: 02, 
     questionAnswer: "bob", 
     correct: 0 
    } 
    ] 
} 

あなたの試験のコレクションで複数の試験を保存するなどのデータを追跡するためのオプションを与えるだろう設定し、この試験のコレクションあなたのアプリや他のコレクションでそれを参照するための一意のIDを与えます。また、あなたの試験コレクションをきれいに保つでしょう。

このuserAnswers収集設定では、各ユーザーの複数の試験の回答を保存するオプションが用意されています。彼らが与えた答えが正しいかどうかを保存することで、各試験のスコアと正しい答えの数をより簡単に表示することができます。

+0

答えをいただきありがとうございます。間違いなく意味があります。 この設定で行ってみましょう。 – Sean

関連する問題