Mongodb post创建文档但未发送数据
使用mongoose和express将表单数据发送到mongodb-文档是使用id创建的,但表单数据不会被发送 模式Mongodb post创建文档但未发送数据,mongodb,express,mongoose,Mongodb,Express,Mongoose,使用mongoose和express将表单数据发送到mongodb-文档是使用id创建的,但表单数据不会被发送 模式 const reportSchema = mongoose.Schema({ project: [ { studio: String, code: String, name: String } ], }, { collection: 'repor
const reportSchema = mongoose.Schema({
project: [
{
studio: String,
code: String,
name: String
}
],
},
{
collection: 'reports'
}
);
module.exports = mongoose.model('Report', reportSchema);
路线呢
app.post("/", (req, res) => {
const report = new Report({
project: {
studio: req.body.studio,
code: req.body.code,
name: req.body.name
}
});
report.save(err => {
if (err) return res.status(404).send({ message: err.message });
return res.send({ report });
});
在postman中发送post请求将创建一个带有空数组的文档
这个帖子看起来像
{
"project": {
"studio": "main",
"code": "411",
"name": "some project"
}
}
谢谢你的帮助
更新路由到
app.post("/", (req, res) => {
const report = new Report({
project: {
studio: req.body.project.studio,
code: req.body.project.code,
name: req.body.project.name
}
});
返回未定义的错误
您在
req.body
中发送了一个带有project
字段的对象,因此需要通过以下方式获取:
const report = new Report({
project: {
studio: req.body.project.studio,
code: req.body.project.code,
name: req.body.project.name
}
});
如果它仍然不起作用,那么您请求的内容类型可能不是application/json
。尝试将其添加到请求标头
注意:确保你的应用程序中有body parser。你能显示你在postman中发送的内容吗?请检查我的答案。更新为include project@CuongLeNgoc返回一个“未定义的错误”你能显示postman请求的完整屏幕截图吗?标题设置为content-type application/json-仍然得到未定义的错误