如何在 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;
而不是创建新对象
我正在使用 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;
而不是创建新对象