Это схема, которую я использую:
var skillSchema = new mongoose.Schema({
skill_name: String
});
var Skill = mongoose.model("Skill", skillSchema);
var userSchema = new mongoose.Schema({
name: String,
role: String,
age: Number,
skills: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Skill"
}
]
});
var User = mongoose.model("User", userSchema);
И это данные JSON, которые передаются через Postman для создания пользователя с навыками.
{
"name" : "Name of user",
"role" : "Developer",
"age" : 20,
"skills" :
[
{
"skill_name" : "Skill name 1"
},
{
"skill_name" : "Skill name 2"
}
]
}
Я не могу вставить объект навыка в объект пользователя.
Это код, который успешно создает пользователя и навык, но не может выдвинуть навык в пользователя.
app.post('/users', function(req, res) {
User.create({
name: req.body.name,
role: req.body.role,
age: req.body.age
}, function(err, user){
if (err) {
console.log(err);
} else {
var skillsArray = req.body.skills;
for (var i = 0; i <= skillsArray.length; i++) {
Skill.create(skillsArray[i],
function(err, skill) {
if (err) {
console.log(err);
} else {
console.log(skill)
user.skills.push(skill);
}
});
}
user.save(function(err, data) {
if (err) {
console.log(err);
} else {
res.json({status: 200, message: "User Created!", _id: data._id});
console.log("User Created");
console.log(user)
}
});
}
});
});
Пожалуйста, помогите. Заранее спасибо!