2012-06-24 5 views
0

나는 두 개의 모음을 몽고에 가지고 있습니다.지도에서 키를 가져와 하나의 검색어로 데이터를 가져옵니다.

{ "_id" : "ext_key111", "internal" : "internal_key1" } 
{ "_id" : "ext_key222", "internal" : "internal_key2" } 
{ "_id" : "ext_key333", "internal" : "internal_key3" } 

하는 난 단지 어떻게 든 검색 할 수 있습니다, 외부 키가있는 경우 :

{ "_id" : "internal_key1", "data" : "some data1" } 
{ "_id" : "internal_key2", "data" : "some data2" } 
{ "_id" : "internal_key3", "data" : "some data3" } 

또 다른 하나는 내 내부 키에 일부 외부 서비스에 의해 제공되는 키의지도는 첫째, 실제 데이터는 하나의 쿼리로 데이터 (예 : "ext_key111"에서 "some data1"검색)를 검색합니까? 물론 평판과 같은 물건은 세지 않습니다.

+1

가능한 중복 ([내가 MongoDB의 동등한 참여? SQL을 수행하려면 어떻게] http://stackoverflow.com/questions/2350495/how-do-i-perform-the-sql-join-equivalent -in-mongodb) – McGarnagle

답변

1

짧은 대답은 아니오입니다.

기본적으로 조인을 요청하고 있으며 MongoDB는 명시 적으로 조인을 허용하지 않습니다. 그러나

, 요구 사항에 따라, 다음과 같은 구조를 벗어날 수 있습니다 :

{ "_id" : "internal_key1", "ext_id": "ext_key111", "data" : "some data1" } 

당신은 ext_id에 추가 인덱스를 만들 수 있습니다. 자신의 데이터와 일치하는 고유 한 것으로 만들 수도 있습니다.

db.ensureIndex({ ext_id: 1 }, { unique: true, background: true }) 
+0

이제 내 대답을 쓰지 않아도된다. –

관련 문제