2014-12-05 28 views
8

Przygotowuję małe API, robię pewne sprawdzanie danych po stronie klienta mojej aplikacji i podczas gdy ja to robię tworzę dane w celu dopasowania do mojego schematu mangusty.Mongoose zapisz wszystkie parametry z treści żądania

Ja próbuje to zrobić ...

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!' 
      }); 
     } 
    }); 
}); 

ale oczywiście to jest obecnie usuwając wszystkie parametry modelowe car dostarczonych przez mangusta, więc uratować metoda e.t.c nie są funkcjonalne.

Próbowałem car.data = req.body, ale wymaga to, aby wszystkie moje schematy mangusty zostały opakowane w obiekt, który nie jest tak elegancki.

Zastanawiam się, czy był jakiś sposób, aby uniknąć przygotowania obiektu car do zapisania bez długiej ręki;

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

e.t.c.

Zasadniczo chcę zrobić odpowiednik car.push(req.body);, ale ponownie, metoda .push() nie jest dostępna dla modeli mongoose.

Odpowiedz

Powiązane problemy