2013-12-19 3 views
0

두 개의 콜렉션이 있습니다. 나는이 작업을 수행 할 수없는지도를 사용하여 mongo db에서 두 개의 콜렉션을 병합하고자합니다.

user collection 
{ 
    "_id" : ObjectId("52ac5dd1fb670c2007000000"), 
    "company" : { 
    "about" : "This is textile machinery dealer", 
    "contactAddress" : [{ 
     "address" : "abcd", 
     "city" : "52ac4bc6fb670c1007000000", 
     "zipcode" : "39as46as80" 
     },{ 
     "address" : "abcd", 
     "city" : "52ac4bc6fb670c1007000000", 
     "zipcode" : "39as46as80" 
     }], 
    "fax" : "58784868", 
    "mainProducts" : "ads,asd,asd", 
    "mobileNumber" : "9537236588", 
    "name" : "krishna steels", 
    } 
    "user" : ObjectId("52ac4eb7fb670c0c07000000") 
} 

product colletion 
{ 
    "_id" : ObjectId("52ac5722fb670cf806000002"), 
    "category" : "52a2a9cc48a508b80e00001d", 
    "deliveryTime" : "10 days after received the ", 
    "price" : { 
    "minPrice" : "2000", 
    "maxPrice" : "3000", 
    "perUnit" : "5288ac6f7c104203e0976851", 
    "currency" : "INR" 
    }, 
    "productName" : "New Mobile Solar Charger with Carabiner", 
    "rejectReason" : "", 
    "status" : 1, 
    "user" : ObjectId("52ac4eb7fb670c0c07000000") 
} 
+0

아직 Google을 검색하셨습니까? – Sammaye

답변

0

방법을 줄일 내가지도를 사용하여 제품과 사용자의 출력을 결합하려는 대가로 이름 &에 의해 제품을 검색 할 수 있습니다. Mongo 지원 맵 하나의 콜렉션에서만 감소시킵니다. 당신은 가져 오기 및 자바 컬렉션에 병합하려고 할 수 있습니다. 며칠 전 자바 컬렉션을 사용하여 비슷한 문제를 해결했습니다.

Click to see similar response about joins and multi collection not supported in mongo.

0

두 개의지도 축소를 사용하여 수행 할 수 있습니다.

첫 번째 MR을 실행 한 다음 두 번째 MR에서 reduce을 첫 번째 결과로 실행하십시오.

이 아니어야합니다. JOIN은 MR을 통해 수행되도록 설계되지 않았으므로 실제로는 매우 불쾌한 아이디어 인 inline 출력으로이 MR을 수행하려고하는 것처럼 들립니다.

MR은 아니요 응용 프로그램에 인라인으로 실행되도록 설계된입니다.

어디에서나 JOIN을하는 것이 더 나을 것입니다.

관련 문제