【发布时间】:2018-04-17 12:18:49
【问题描述】:
我有一个可以 POST 的 Express 端点,如下所示:
router.post("/add", (req, res) => {
Poll.create({
question: req.body.question,
options: req.body.options,
}).then(p => {
res.send(p);
});
});
这就是我要发布的内容:
{
"question": "what is your favourite colour?",
"options" :
[
{
"colour" : "green",
"votes" : 5
},
{
"colour": "red",
"votes": 50
}
]
}
我收到的回复是:
{
"__v": 0,
"question": "what is your favourite colour?",
"_id": "59fe97088687d4f91c2cb647",
"options": [
{
"votes": 5,
"_id": "59fe97088687d4f91c2cb649"
},
{
"votes": 50,
"_id": "59fe97088687d4f91c2cb648"
}
]
}
由于某种原因,“颜色”键没有被捕获。我通过在 Mongo 中查看该系列确认了这一点,确实只捕获了“投票”而没有颜色。
为了以防万一,这里是模型架构:
const PollSchema = new Schema({
question: {
type: String,
},
options: [
{
option: {
type: String,
},
votes: Number,
},
],
});
【问题讨论】:
-
几乎不是“未知原因”。您根本没有在架构中定义
"color"。所以它正在被删除。你改为"option"。
标签: node.js mongodb rest express mongoose