1

当我收到一个 POST 请求时,我想获取其键存在于我的模型架构中的条目。例如,如果我的“用户”模型的模式由“名称”和“电子邮件”键组成,那么当我遍历 req.body 时,我只想获取“名称”和“电子邮件”字段的值。我怎么做?

4

3 回答 3

0

如果您有类似的表单字段,

<input type="text" name="name">
<input type="text" name="email">

然后,您可以,而不是遍历 req.body,

var name = req.body.name;
var email = req.body.email;
于 2013-07-22T02:55:15.173 回答
0

下面是一些从 post 请求的正文中检索字段的代码,使用expressbodyParser()中间件:

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

希望有帮助。

于 2013-07-22T09:49:52.127 回答
0

如果我正确理解您的问题,您希望有一组未指定的键来查询 mongo,并且只返回这些键的数据。

如果确实如此,请使用带有 lodash/underscore的Mongoose :

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 对象的某些事情以及键如何与架构匹配。

于 2013-07-23T13:53:19.257 回答