2016-07-07 1 views
0

조금 설명해 드리겠습니다. 아이디어는 카테고리를 가지며 각 카테고리는 상위 카테고리와 하위 카테고리를 가질 수 있지만이 트리가 얼마나 깊은 곳인지 알 수 없습니다. 예를 들어 :Sails JS - 같은 모델의 모델입니다.

->Clothes 
-->Men 
--->Kids 
---->Newborns 
----->Etc, etc 
-->Women 
-->Unisex 

그래서 난 내 Category.js 모델은 이러한 특성을 가질 수 있다고 생각 :

Category.find({}).populate('subCategories').exec(........ 

내가 목록을 가져올 수 :

module.exports = { 
    attributes: { 
    name: { 
     type: 'string', 
     required: true, 
     unique: true 
    }, 
    products: { 
     collection: 'product', 
     via: 'category' 
    }, 
    parentCategory: { 
     model: 'category' 
    }, 
    subCategories: { 
     collection: 'category', 
     via: 'parentCategory' 
    } 
    } 
}; 

과 내 모든 범주를 얻을 때 모든 카테고리와 그 하위 카테고리의 하위 카테고리를 갖고 싶지만 하위 카테고리의 하위 카테고리를 갖고 싶습니다. 이전에 작성한 트리 계층 구조와 비슷하지만 대신에 저는

입니다.개

의류 {하위 범주 : [남자 : {}, 여성 : {}, 남여 : {}]} 남성 {.....

하지만 의류의 내부

, 나는 남자가, 맞습니다. 하지만 이제는이 Men 객체 안에 "Kids"가 없습니다.

나는 분명합니까?

답변

1

채우기 방법은 현재 한 수준에서만 작동하므로 다른 채우기 및 채우기를 채우고 개체를 채울 수 없습니다. 비슷한 기능이있어서이 코드를 찾아서 작성 했으므로 도움이 될 수 있습니다.

return Object.findOne({ 
     id: id 
     }).populateAll().then(function (result) { 
     var otherObject= otherObject.find(result.id).then(function (otherResult) { 
      return otherResult; 
     }); 
     return [result, otherResult]; 
     }).spread(function (house, otherResult) { 
     result= result.toObject(); 
     result.otherResult= otherResult; 
     return result; 
     });