javascript - Mongoose 保存请求正文中的所有参数

标签 javascript node.js mongodb express mongoose

我正在设置一个小 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!'
            });
        }
    });
});

当然,这是目前移除了mongoose提供的car的所有模型参数,所以save方法e.t.c不再起作用了。

我尝试了 car.data = req.body 但这需要将我所有的 Mongoose 模式包装到一个不太优雅的 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() 方法对 Mongoose 不可用模型。

最佳答案

您可以像这样将 req.body 传递给您的 Car

var car = new Car(req.body);

这里还有一个引用: Passing model parameters into a mongoose model

关于javascript - Mongoose 保存请求正文中的所有参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27315849/

相关文章:

javascript - 批处理文件转换和使用

javascript - 如何发布具有不同数据子集的同一集合?

MongoDB - 不同集合中的相同_id

node.js - 在 React/Node/Mongo/Mongoose 应用程序中使用日期的最佳解决方案

运行 rs.initiate() 后 mongodb 副本集错误 "...replSetHeartbeat requires authentication..."

javascript - jQuery.Form 不会提交

javascript - 页面上有多种表单,最少的验证功能

javascript - Node.js [网络库] : How to make the buffer object a string?

javascript - 非常快速的无限循环,不会阻塞 I/O

javascript - 类似 MVC 的代码如何在 Node.js 中工作?