2016-11-23 41 views
0

我有POST方法時,我做如下圖所示的NodeJS POST方法不保存數據

這條線路工作正常,數據被保存在數據庫中,但如果我嘗試做它作爲其工作正常下面

router.post('/companyDetails', function(req, res, next) { 
    var newCompanyDetails = new companyDetailsModel(); 
    newCompanyDetails= req.body; 
    newCompanyDetails.save(function(err) { 
     if (err){ 
      console.log('Error in Saving user: '+err); 
     } 
     console.log('User Registration succesful'); 
     res.send("user added sucessfully"); 
    }); 

}) 

所示,我會得到這樣的newCompanyDetails.save內部服務器錯誤不是一個函數請說這是爲什麼的行爲,如果是POST請求包含字段的100,我應該明確應該怎麼分配的所有字段,請幫助我理解這

回答

1

你抹去蒙戈對象與此行

newCompanyDetails= req.body; 

而是執行此操作:該工作u能請解釋這裏發生了什麼

var newCompanyDetails = new companyDetailsModel(req.body); 
+0

ossom所以它的工作 –

+1

新companyDetailsModel創建一個新的蒙戈模型,當你將javascript對象傳遞給它時,它將使用良好的字段值來設置對象。當您執行newCompanyDetails = req.body時,您將mongo對象替換爲標準JavaScript對象,其中mongo函數(如save())未定義 – Dafuck

相關問題