2

質問とその可能な回答を格納する Question という単純な Mongoose スキーマがあります。回答は個別のスキーマであり、埋め込みドキュメントとして質問に保存されます。

スキーマは次のとおりです。

var ResponseSchema = new Schema({});

var AnswerSchema = new Schema({
    answer              : String
  , responses           : [ResponseSchema]
 });

 var QuestionSchema = new Schema({
    question            : {type: String, validate: [lengthValidator, "can't be blank."]}
  , answers             : [AnswerSchema]
});

ユーザーが質問といくつかの回答を入力できるフォームを作成しようとしています (私はエクスプレスとジェイドを使用しています)。

これが私がこれまでに持っているものです:

form(action='/questions', method='post')
fieldset
    p
        label Question
        input(type='text', name="question[question]")
div
    input(type='submit', value='Create Question')

そして、これが私がそれを保存する方法です:

app.post('/questions', function(req, res, next) {
  var question = new Question(req.param('question'));
  question.save(function(err) {
    if (err) return next(err);

    req.flash('info', 'New question created.');
    res.redirect('/questions');
  });
});

これはうまく機能しますが、私の質問につながります... このフォームに回答を追加するにはどうすればよいですか?

(または、より一般的な質問です。埋め込みドキュメントをこのようなフォームに配置するにはどうすればよいでしょうか?)

グーグルでいろいろな例を調べてみましたが、これには遭遇しませんでした。ご覧いただきありがとうございます。

4

1 に答える 1

2

次のように、回答配列に回答を「プッシュ」できます。

   question.answers.push( { answer: "an answer here" });
于 2011-08-25T20:42:56.773 に答える