2014-12-05 45 views
8

我正在設置一個小API,我在應用程序的客戶端執行了一些數據驗證,同時我這樣做了我構建數據以匹配我的貓鼬模式。Mongoose保存請求正文中的所有參數

我試圖做到這一點...

router.route('/car') 
.post(function(req, res) { 
    var car = new Car(); 

    car = req.body; // line under scrutiny 

    car.save(function(err) { 
     if(err) { 
      console.log(err); 
      res.status(400); 
      res.send(err); 
     } 
     else { 
      res.status(200); 
      res.json({ 
       message: req.body.name + ' successfully registered!' 
      }); 
     } 
    }); 
}); 

但當然,這是目前去除由貓鼬提供car的所有模型參數,所以保存方法e.t.c不再起作用。

我試過car.data = req.body但這需要把我所有的貓鼬模式都包裹進data這個不那麼優雅的物體中。

我想知道是否有什麼方法可以避免準備car的對象被保存而沒有長期的;

car.name = req.body.name; 
car.seats = req.body.seats; 
car.engine_size = req.body.engine_size; 

e.t.c.

我基本上想做car.push(req.body);的等價物,但是.push()方法不適用於貓鼬模型。

回答