如何在 POST 请求期间将键值对添加到 req.body 字典

How to add a key-value pair to a req.body dictionary during a POST request

我正在使用 NEDB 和 Express/Node。

这是我的 API:

app.post('/api/texts/', function (req, res, next) {

    (req.body).push({
      key:   "additionalField",
      value: 0
    });

    texts.insert(req.body, function (err, text) {
        if (err) return res.status(500).end(err);
        return res.json(text);
    });
});

我正在尝试将我自己的键添加到正文字典中(我希望键值是一个 int)。

当前的颂歌给我一个错误说 "TypeError: req.body.push is not a function"。

你为什么不做一个新对象?例如:

app.post('/api/texts/', function (req, res, next) {
    const obj = {};
    for (let [key, value] of Object.entries(req.body)) {
        obj[key] = value;
    }
    obj.additionalField = 0;


    texts.insert(obj, function (err, text) {
        if (err) return res.status(500).end(err);
        return res.json(text);
    });
});

或者您可以简单地使用 req.body.additionalField = 0; 而不是创建新对象