2016-07-11 7 views
0

自分のサイトのユーザーが自分のクイズを作成できるようにしようとしていますが、クイズをMongoDBに取り込む際に問題があります。特定のreq.bodyなしでMongoDBにユーザ入力を格納するには?

1つの問題は、ユーザーが投稿したクイズにはいくつでも質問ができることです。したがって、req.bodyを使用して各質問と回答を具体的に参照することは意味がないと思います。これはそれぞれの質問を与えることを意味し、以下のような、ユニークなname属性を答えるでしょう:クイズは非常に長くなることができるように

Question:<input type="text" name="question1"> 
<br>answer:<input type="text" name="ans1a"> 
<br>answer:<input type="text" name="ans1b"> 
<br>answer:<input type="text" name="ans1c"> 

Question:<input type="text" id="question2"> 
<br>answer:<input type="text" name="ans2a"> 
<br>answer:<input type="text" name="ans2b"> 
<br>answer:<input type="text" name="ans2c"> 

ユーザーは、「新しい質問」ボタンをクリックすることにより、より多くの質問を追加することができます。任意の指導を事前に

[{ 
    "question": "Which of these involves the analysis of of a business's financial statements, often used in stock valuation?", 
    "choices": ["Fundamental analysis", "Technical analysis"], 
    "correct": 0 
}, { 
    "question": "What was the name of the bond purchasing program started by the U.S. Federal Reserve in response to the 2008 financial crisis?", 
    "choices": ["Stimulus Package", "Mercantilism", "Quantitative Easing"], 
    "correct": 2 
}, { 
    "question": "Which term describes a debt security issued by a government, company, or other entity?", 
    "choices": ["Bond", "Stock", "Mutual fund"], 
    "correct": 0 
}] 

ありがとう:

最終的に私は、ユーザーの作成したクイズは、このような形式のものではMongoDBに格納することにしたいです。

+1

リクエストで本文を 'POST 'せずにデータをサーバーに送信するふりをしていますか。ユーザーが入力したデータは何とかサーバーに送らなければなりません。どうして 'req.body'を使いたくないのですか?その質問が明確になった後、私はデータモデリングについてお手伝いします。 –

+1

あなたのリクエストでは、個々の回答と質問を個別に送信する必要はありません。あなたは質問を含むオブジェクトの配列を作成することができます。答えはサーバーに投稿し、その配列をストリング化し、 'req.body'の1つのフィールドとして渡します。 –

+0

@DavidEspinoを明確にするために、 Req.bodyの数は多いですが、今はフロントエンドのすべての値をコンパイルして一つのreq.bodyを使ってそのデータ構造をMongoDBに持っていくのが最善の方法です。ありがとう! –

答えて

1

私が理解している場合、@ jake1986は各質問についてreq.bodyに別のプロパティを必要としません。彼は単一のデータ構造でそれを望んでいます。

これが当てはまる場合は、フロントエンドが説明したmongoエントリのようなプロパティを持つ質問オブジェクトをアセンブルし、それらをすべて配列にアセンブルする関数を作成します。配列はPOST要求で送信されます。この配列をcreate()関数に渡すことで、これらをドキュメントとしてMongoに追加できます。

関連する問題