2017-03-10 10 views
-1

나는 nodejs에서 새롭다. 나는 결과를 원하지만 마지막 값을 보여준다.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

푸시() 란 무엇입니까? – Darkrum

답변

1

요소를 배열에 추가하는 대신 매번 요소 중 하나를 사용하여 배열을 대체합니다.

변경이이에

childskill = JobCategoryInstance.child_categories[i].child_categoryname; 

:

childskill.push(JobCategoryInstance.child_categories[i].child_categoryname); 

새로운 요소가 배열에 모든 시간을 추가해야 할 경우

.

+0

감사합니다 친애하는 그 작품 :) 감사합니다 –