2013-02-23 2 views
1

이 두 단계 mongoskin을 사용하는 mongodb에 대한 단일 쿼리 또는 다중 쿼리 ???

작업 메신저 먼저 내가 cod_prod의 소유자를 조회 할 수 있도록 ... 내가 cod_prod 변수 내부의 정보를 얻을 필요가 MongoDB를에

{cod_com:'WWWOAN', 
    cod_prod[{prod:'proda',info:'hola mundo'},{prod:'pacda',info:'hola mundo'},{prod:'prcdb',info:'hola mundo'}] 
} 
{cod_com:'WWWOA2', 
    cod_prod[{prod:'prdda',info:'hola mundo'},{ccod:'prcda',info:'hola mundo'}] 
} 
{cod_com:'WWWOA1', 
    cod_prod[{prod:'prcda',info:'hola mundo'},{aaad:'prcda',info:'hola mundo'}] 
} 

입니다

db.collection.findOne({cod_com:'WWWOA1'}); 

(있는 경우), 필요한 cod_prod를 쿼리하십시오.

db.collection.findOne({'cod_prod.prod':'prcda'}); 

그래서 기본적으로 두 번 쿼리 메신저, 먼저 제품의 소유자에게이며, 두 번째는 제품을 검색하는 제품의 정보입니다 ...

질문은 직접 제품을 검색 할 수있는 방법이 있습니까? ?? 내가 이것을 사용하지 못할

...

db.collection.findOne({'cod_prod.prod':'prcda'}); 

differents의 소유자가 그래서 먼저 내가 주인을 얻을 초 전 제품을 얻을 ... 동일한 제품을 가지고 있기 때문에 ....

사람이있다 더 나은 aproach ?? 또는 정보를 얻는 다른 방법 ??? TNX

답변

1

이 같은 쿼리 경우

db.collection.findOne({'cod_com':'WWOA1', 'cod_prod.prod':'prcda'}); 

원하는 결과를 얻을 수 있습니다.

+0

'cod_prod.prod'가 포함 된 cod_com을 얻고 싶다면 'prcda', 어떻게 정보를 얻을 수 있습니까? 소유자 정보 – andrescabana86

+0

배열이 나에게 배열을 제공하지 못했습니다 ... 모든 문서 제공 나는 정보 만 필요합니다 ... 전체 문서가 아닙니다 – andrescabana86

+1

기본적으로 쿼리는 항상 전체 문서를 반환합니다. $ elemMatch 투영 연산자를 사용하여 첫 번째로 일치하는 배열 요소를 얻을 수 있습니다. –

관련 문제