1

POST リクエストを受け取ったときに、モデルのスキーマにキーが存在するエントリを取得したいと考えています。たとえば、'user' モデルのスキーマが 'name' キーと 'email' キーで構成されている場合、req.body を反復処理するときに、'name' フィールドと 'email' フィールドの値のみを取得したいと考えています。それ、どうやったら出来るの?

4

3 に答える 3

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 に答える
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

bodyParser()ミドルウェアでexpressを使用して、投稿リクエストの本文からフィールドを取得するコードを次に示します。

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 に答える