当我收到POST请求时,我想获取其密钥存在于模型模式中的条目。例如,如果我的'用户'模型的模式由'name'和'email'键组成,那么当我迭代req.body时,我只想获得'name'和'email'字段的值。我该怎么做?
答案 0 :(得分:0)
如果您有表单字段,
<input type="text" name="name">
<input type="text" name="email">
然后,而不是迭代req.body,你可以,
var name = req.body.name;
var email = req.body.email;
答案 1 :(得分:0)
以下是一些代码,使用 express 和 bodyParser()中间件检索帖子请求正文中的字段:
var express = require('express');
var app = express();
// Middleware
app.use(express.bodyParser());
... // other middleware
// Routes
app.post('/path', function(req, res) {
var name = req.body.user.name;
var email = req.body.user.email;
... // some more code
});
希望有所帮助。
答案 2 :(得分:0)
如果我正确理解你的问题,你想要一组未指定的密钥来查询mongo,并且只返回这些密钥的数据。
如果确实如此,请使用Mongoose和lodash / underscore:
var keys = _.keys(req.body);
User.find(req.body).select(keys.join(' ')).lean().exec(function(err, user {
if (err)
throw err;
res.send(user);
}):
假设有关req.body对象的某些内容以及密钥与模式的匹配方式。