2016-08-05 5 views
0

Iは、ノードコントローラを使用するMongoDBに格納値を望むが、それはMongoDBの内部の空の配列を格納するアレイスキーマ店空の値は、

1).Thisはreqパラメータ

this.childQuestionId = function(req, res, next){ 
    try{ 
     var userObj = { 
      'child.quiz.questionId' : req.params.questionId, 
      'child.quiz.score' : req.params.score, 
      //'child.quiz.time' : req.params.time 
      'child.quiz.time' : new Date().toISOString() 
      }; 

     var childupdate = new childQuiz(userObj); 

     childupdate.save(function(err,data){ 
      if(err) return next(err); 
      console.log("Data saved successfully"); 
      res.send(data); 
     });    
    }catch(err){ 
     console.log('Error While Saving the result ' +err); 
     return next(err); 
     } 
} 

を受け入れるために使用してノードコントローラであります2)これは値を格納するために使用するmongodbスキーマです。ここで私は値を格納するための配列クイズスキーマを使用しています、アレイ

child:{ 
    quiz:[ 
     { 
     /*questionId:{ 
      type: mongoose.Schema.Types.ObjectId, 
      ref: 'commonquestions' 
      },*/ 
      questionId:{type:String}, 
      score:{type:Number}, 
      time:{type:String} 
     } 
     ] 
    } 

3である).Thisは郵便配達

{ 
"__v": 0, 
"_id": "57a43ec68d90b13a7b84c58f", 
"child": { 
"quiz": [] 
} 
} 
+0

'childupdate'オブジェクトをテストできますか?それを解析してコンソールログに出力して、内部にあるものを確認してください。 –

答えて

0

を使用して送信した値は、あなたのコントローラにこのコードで

this.childQuestionId = function(req, res, next){ 
try{ 
    var userObj = { 
     'questionId' : req.params.questionId, 
     'score' : req.params.score, 
     //'time' : req.params.time 
     'time' : new Date().toISOString() 
     }; 

    var childupdate = new childQuiz(); 
    childupdate.quiz.push(userObj); 

    childupdate.save(function(err){ 
     if(err) return next(err); 
     console.log("Data saved successfully"); 
     res.send(childupdate); 
    });    
}catch(err){ 
    console.log('Error While Saving the result ' +err); 
    return next(err); 
    } 
} 
を試してみてください、私のJSONの結果であり、