我是nodejs的新手。我想要下面的结果,但它显示了最后一个值。
"child_skills" : [
"Nodejs",
"Android",
"Javascript"
],
我的nodejs方法
export function create(req, res) {
return JobCategories.create(req.body)
.then((JobCategoryInstance) => {
var childskill = [];
for (var i = 0; i < JobCategoryInstance.child_categories.length; i++) {
childskill = JobCategoryInstance.child_categories[i].child_categoryname;
}
EngineerSkills.create({ skill_name: JobCategoryInstance.category_name, child_skills: childskill });
return JobCategoryInstance;
})
.then(respondWithResult(res, 201))
.catch(handleError(res));
}
我的结果如下。为什么这只是最后一个值?
{
"_id" : ObjectId("58c2d5019caa49199854872e"),
"skill_name" : "soft",
"date_updated" : ISODate("2017-03-10T16:32:01.437Z"),
"child_skills" : [
"Javascript"
],
"__v" : 0
}
答案 0 :(得分:1)
不是向数组中添加元素,而是每次都使用其中一个元素替换数组。
改变这个:
childskill = JobCategoryInstance.child_categories[i].child_categoryname;
到此:
childskill.push(JobCategoryInstance.child_categories[i].child_categoryname);
如果您希望每次都将新元素添加到数组中。