2014-03-05 2 views
1

저는 mongodb 및 mongoose를 처음 사용하고 있으며 하위 배열을 가져 오는 데 문제가 있습니다.MongooseJs에서 검색어와 일치하는 하위 하위 배열 만 가져옵니다.

내 데이터는 다음과 같이이다 :

[ 
    {_id : ..., 
    name : 'Category name1', 
    products : [ 
        { 
        code : 'zxcv' 
        name : 'T-Shirt 1', 
        items : [ 
          {code:'zxcv', size : 'S'} 
          {code:'zxcv', size : 'M'} 
          {code:'zxcv', size : 'L'} 
          {code:'zxcv', size : 'XL'} 

         ] 
        }, 
        { 
        code : 'qwerty' 
        name : 'T-Shirt 2', 
        items : [ 
          {code:'qwerty', size : 'S'} 
          {code:'qwerty', size : 'M'} 
          {code:'qwerty', size : 'L'} 
          {code:'qwerty', size : 'XL'} 

         ] 
        } 
       ] 
      }, 
      {_id : ..., 
      name : 'Category name2', 
      products : [ ... ] 
      } 
     ] 

난 그냥 제품을 얻을하려는 코드 = 'zxcv'

내가 할 경우 :

ProductGroup.find({'products.code' : 'zxcv'},function(err, products){}) 

나는 모두를 얻을 수 첫 번째 제품 카테고리 - 코드가 'zxcv'인 제품뿐만 아니라

+0

가능한 중복 :

가 일치 그냥 제품을 얻으려면 배열에서 선택한 항목 만] (http://stackoverflow.com/questions/3985214/mongodb-extract-only-the-selected-item-in-array) – JohnnyHK

답변

5

내가 알아 냈습니다. 내가 대답을 찾고 시간을 보내고 하나를 찾을 수 없습니다 때문에, 어쩌면이 같은 문제를 다른 멍청한 놈 도움이 될 것입니다 : [MongoDB의 추출물의

ProductGroup.find({'products.code' : 'zxcv'},'products.code.$.items', function(err, products){}) 
관련 문제