【发布时间】:2020-08-12 03:43:04
【问题描述】:
正如您在图片中看到的那样,它什么也没保存。 POST 请求正在工作,但我发送到后端的数据只保存带有 ID 的新对象,而不是我提供的数据,我的意思是对象数组。
我没有任何错误或状态正常。我正在用 Postman 进行测试。 这是邮递员发帖请求
我会添加一些代码。
这是模型。
const mongoose = require("mongoose");
const dataModelScheme = new mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
personalData: [{
_id: mongoose.Schema.Types.ObjectId,
title: String,
firstName: String,
lastName: String,
email: String,
birthday: String,
telephone: Number,
driveLicense: String,
status: Number,
employmentType: String,
job: String,
}],
career: [{
_id: mongoose.Schema.Types.ObjectId,
name: String,
startDate: Number,
endDate: Number,
description: String,
}],
education: [{
_id: mongoose.Schema.Types.ObjectId,
name: String,
description: String
}],
skills: [{
_id: mongoose.Schema.Types.ObjectId,
name: String,
description: String
}],
user: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
});
module.exports = mongoose.model('ModelSchema', dataModelScheme);
这是控制器。
async store(req, res) {
const { user_id } = req.headers;
const user = await User.findById(user_id);
if (!user) {
return res.status(400).json({ error: 'User does not exist'});
}
const modelData = new ModelData({
_id: new mongoose.Types.ObjectId(),
user: user_id,
personalData: [{
_id: new mongoose.Types.ObjectId(),
title: req.body.personalData.title,
firstName: req.body.personalData.firstName,
lastName: req.body.personalData.lastName,
email: req.body.personalData.email,
birthday: req.body.personalData.birthday,
telephone: req.body.personalData.telephone,
driveLicense: req.body.personalData.driveLicense,
status: req.body.personalData.status,
employmentType: req.body.personalData.employmentType,
job: req.body.personalData.job,
}],
skills: [{
_id: new mongoose.Types.ObjectId(),
name: req.body.skills.name,
description: req.body.skills.description,
}],
education: [{
_id: new mongoose.Types.ObjectId(),
name: req.body.education.name,
description: req.body.education.description,
}],
});
modelData.save().then(result => {
res.status(201).json(result);
console.log(req.body.personalData, "req.body");
console.log(result, "result");
}).catch(error => {
res.status(500).json({error: error});
});
},
【问题讨论】:
标签: javascript node.js mongodb mongoose