2017-07-28 12 views
0

私の問題は私のmongodbに私のドキュメントを保存すると仮定した私の投稿要求がすべての私のドキュメントを保存しないということです。複数の値を持つフィールドは保存されません。それらを保存する方法はありますか?Nodejs - 私のポストリクエストは私のスキーマ内のすべてのデータを保存しません

これは私の投稿要求です。

router.post('/register',function(req,res,next){ 
    let newDoc = new Doc({ 
     patientInfo:{ 
      Name:{  
       fname:req.body.fname, 
       lname:req.body.lname, 
       mname:req.body.mname 
      }, 
     age:req.body.age, 
     address:{ 
      barangay:req.body.barangay, 
      cc:req.body.cc, 
      city:req.body.city 
     }, 
     birthday:req.body.birtday, 
     complaint:req.body.complaint, 
     vitalsign:{ 
      time:req.body.time, 
      pulse:req.body.pulse, 
      bp:req.body.bp, 
      resp:req.body.resp, 
      temp:req.body.temp, 
      Sao:req.body.Sao, 
      levelofconsciousness:req.body.levelofconsciousness, 
      airway:req.body.airway, 
      o2supply:req.body.o2supply, 
      breathing:req.body.breathing, 
      capref:req.body.capref, 
      bloodsugar:req.body.bloodsugar, 
      anatomicalchart:req.body.anatomicalchart 
     } 
     }, 
    managementnotes:req.body.managementnotes, 
    date:{ 
     month:req.body.month, 
     dateN:req.body.dateN, 
     year:req.body.year 
    }, 
    nameofcaller:req.body.nameofcaller, 
    teamresponder:req.body.teamresponder, 
    emergencyroutetimerecord:{ 
     callrecieved:req.body.callrecieved, 
     respondtime:req.body.respondtime, 
     arrivaltoscene:req.body.arrivaltoscene, 
     leftscene:req.body.leftscene, 
     hospitalarrival:req.body.hospitalarrival, 
     acdrrmoarrival:req.body.acdrrmoarrival 
    }, 
    natureaccident:[ 
     req.body.natureaccident 
    ], 
    vehicleinvolved:req.body.vehicleinvolved, 
    incidentlocation:req.body.incidentlocation 
    }); 
    Doc.addDocument(newDoc,function(err,callback){ 
     console.log(newDoc); 
     if(err) res.json({success:false,msg:"ERROR SAVING DOC OCCURED"}); 
     else res.json({success:true,msg:"Saved"}); 
    }); 
}); 

そして、それは私にこのJSON

{ __v: 0, 
    managementnotes: 'req.body.managementnotes', 
    nameofcaller: 'req.body.nameofcaller', 
    teamresponder: 'req.body.teamresponder', 
    vehicleinvolved: 'req.body.vehicleinvolved', 
    incidentlocation: 'req.body.incidentlocation', 
    _id: 597b6f1806cb8e2710e5d8f9, 
    natureaccident: [ 'req.body.natureaccident' ] } 

を返し、私はドキュメント

module.exports.addDocument = function(newDoc,callback){ 
    newDoc.save(callback); 
}; 

私が間違ってやっている任意のアイデアを保存する方法これは?私と一緒に裸してくださいnodejsすることはかなり新しいI'am笑 ここでは私のマングーススキーマが

ある
var DocSchema = mongoose.Schema({ 
    patientInfo:{ 
     Name:{ 
      fname:{ 
       type:String 
      }, 
      mname:{ 
       type:String 
      }, 
      fname:{ 
       type:String 
      } 
     }, 
     age:{ 
      type:Number 
     }, 
     address:{ 
      barangay:{ 
       type:String 
      }, 
      cc:{//country 
       type:String 
      } 
     }, 
     birthday:{ 
      type:String 
     }, 
     complaint:{ 
      type:String 
     }, 
     vitalsign:{ 
      time:{ 
       type:String 
      }, 
      pulse:{ 
       type:String 
      }, 
      bp:{ 
       type:String 
      }, 
      resp:{ 
       type:String 
      }, 
      temp:{ 
       type:String 
      }, 
      Sao:{ 
       type:String 
      }, 
      levelofconsciousness:{ 
       type:String 
      }, 
      airway:{ 
       type:String 
      }, 
      o2supply:{ 
       type:String 
      }, 
      breathing:{ 
       type:String 
      }, 
      capref:{ 
       type:String 
      }, 
      bloodsugar:{ 
       type:String 
      }, 
      anatoymicalchart:{ 
       type:String 
      } 
     } 

    }, 
    managementnotes:{ 
     type:String 
    }, 
    date:{ 
     month:{ 
      type:String 
     }, 
     dateN:{ 
      type:String 
     }, 
     year:{ 
      type:String 
     } 
    }, 
    nameofcaller:{ 
     type:String 
    }, 
    teamresponder:{ 
     type:String 
    }, 
    emergencyroutetimerecord:{ 
     callrecieved:{ 
      type:String 
     }, 
     respondtime:{ 
      type:String 
     }, 
     arrivaltoscene:{ 
      type:String 
     }, 
     leftscene:{ 
      type:String 
     }, 
     hospitalarrival:{ 
      type:String 
     }, 
     acdrrmoarrival:{ 
      type:String 
     } 
    }, 
    natureaccident:[{ 
     type:String 
    }], 
    vehicleinvolved:{ 
     type:String 
    }, 
    incidentlocation:{ 
     type:String 
    } 

}); 

これは私の要求が

あなたが要求からのparamsを読んでいるあなたのコントローラで
{ 
"patientInfo":{ 
      "Name":{  
       "fname":"tslph", 
       "lname":"sdfsdf", 
       "mname":"sdfsdfsd" 
      }, 
     "age":12, 
     "address":{ 
      "barangay":"req.body.barangay", 
      "cc":"req.body.cc", 
      "city":"req.body.city" 
     }, 
     "birthday":"req.body.birtday", 
     "complaint":"req.body.complaint", 
     "vitalsign":{ 
      "time":"req.body.time", 
      "pulse":"req.body.pulse", 
      "bp":"req.body.bp", 
      "resp":"req.body.resp", 
      "temp":"req.body.temp", 
      "Sao":"req.body.Sao", 
      "levelofconsciousness":"req.body.levelofconsciousness", 
      "airway":"req.body.airway", 
      "o2supply":"req.body.o2supply", 
      "breathing":"req.body.breathing", 
      "capref":"req.body.capref", 
      "bloodsugar":"req.body.bloodsugar", 
      "anatomicalchart":"req.body.anatomicalchart" 
     } 
     }, 
    "managementnotes":"req.body.managementnotes", 
    "date":{ 
     "month":"req.body.month", 
     "dateN":"req.body.dateN", 
     "year":"req.body.year" 
    }, 
    "nameofcaller":"req.body.nameofcaller", 
    "teamresponder":"req.body.teamresponder", 
    "emergencyroutetimerecord":{ 
     "callrecieved":"req.body.callrecieved", 
     "respondtime":"req.body.respondtime", 
     "arrivaltoscene":"req.body.arrivaltoscene", 
     "leftscene":"req.body.leftscene", 
     "hospitalarrival":"req.body.hospitalarrival", 
     "acdrrmoarrival":"req.body.acdrrmoarrival" 
    }, 
    "natureaccident":[ 
     "req.body.natureaccident" 
    ], 
    "vehicleinvolved":"req.body.vehicleinvolved", 
    "incidentlocation":"req.body.incidentlocation" 
} 
+0

ほとんどの場合、スキーマの定義ミスは、あなたのマングーススキーマを投稿することができますか? – 88jayto

+0

@ 88jayto私はマングーススキーマを追加しました –

+0

@RalphMungucalあなたのスキーマにすぐに間違ったことは何も表示されません。私はmongooseがヌル/未定義値を維持するとは思わないfyi – 88jayto

答えて

0

のように見えるものです間違って

let newDoc = new Doc({ 
     patientInfo:{ 
      Name:{  
       fname:req.body.patientInfo.Name.fname, 
       lname:req.body.patientInfo.Name.lname, 
       mname:req.body.patientInfo.Name.mname 
      }, 
     age:req.body.age, 
     address:{ 
      barangay:req.body.patientInfo.address.barangay, 
      cc:req.body.patientInfo.address.cc, 
      city:req.body.patientInfo.address.city 
     }, 
     birthday:req.body.patientInfo.birtday, 
     complaint:req.body.patientInfo.complaint, 
     vitalsign:{ 
      time:req.body.patientInfo.vitalsign.time, 
      pulse:req.body.patientInfo.vitalsign.pulse, 
      bp:req.body.patientInfo.vitalsign.bp, 
      resp:req.body.patientInfo.vitalsign.resp, 
      temp:req.body.patientInfo.vitalsign.temp, 
      Sao:req.body.patientInfo.vitalsign.Sao, 
      levelofconsciousness:req.body.patientInfo.vitalsign.levelofconsciousness, 
      airway:req.body.patientInfo.vitalsign.airway, 
      o2supply:req.body.patientInfo.vitalsign.o2supply, 
      breathing:req.body.patientInfo.vitalsign.breathing, 
      capref:req.body.patientInfo.vitalsign.capref, 
      bloodsugar:req.body.patientInfo.vitalsign.bloodsugar, 
      anatomicalchart:req.body.patientInfo.vitalsign.anatomicalchart 
     } 
     }, 
    managementnotes:req.body.managementnotes, 
    date:{ 
     month:req.body.date.month, 
     dateN:req.body.date.dateN, 
     year:req.body.date.year 
    }, 
    nameofcaller:req.body.nameofcaller, 
    teamresponder:req.body.teamresponder, 
    emergencyroutetimerecord:{ 
     callrecieved:req.body.emergencyroutetimerecordcallrecieved, 
     respondtime:req.body.emergencyroutetimerecord.respondtime, 
     arrivaltoscene:req.body.emergencyroutetimerecord.arrivaltoscene, 
     leftscene:req.body.emergencyroutetimerecord.leftscene, 
     hospitalarrival:req.body.emergencyroutetimerecord.hospitalarrival, 
     acdrrmoarrival:req.body.emergencyroutetimerecord.acdrrmoarrival 
    }, 
    natureaccident:[ 
     req.body.natureaccident 
    ], 
    vehicleinvolved:req.body.vehicleinvolved, 
    incidentlocation:req.body.incidentlocation 
    }); 
    Doc.addDocument(newDoc,function(err,callback){ 
     console.log(newDoc); 
     if(err) res.json({success:false,msg:"ERROR SAVING DOC OCCURED"}); 
     else res.json({success:true,msg:"Saved"}); 
    }); 
+0

プロパティを読み取ることができません' fname 'は未定義ですこのエラーは@ 88jayto –

+0

あなたのパスに1つのオブジェクトレベルが足りない場合、私は答えを更新しました。 @RalphMungcal – 88jayto

+0

私はそれをやってみましたが、エラーを変更するだけです。プロパティを読み取ることができません。'名前'未定義@ 88jayto –

関連する問題