질문이라 당연히 본삭금 걸고 질문 드립니다. <div><br></div> <div>몇일전에 몽고 관련해서 입사 시험 준비문제로 질문 드렸었는데 </div> <div><br></div> <div>결과만 말씀드리면 그자리에서 깔끔히 짤렸고요. </div> <div><br></div> <div>거기서 나온 문제 관련해서 질문 드립니다.</div> <div><br></div> <div>다른것보다 이게 제 발목을 잡았는데요 </div> <div><br></div> <div>우선 몽고디비에 들어있는 샘플 데이터 구조입니다. </div> <div><br></div> <div>{</div> <div><span style="white-space:pre;"> </span>"_id": 111,</div> <div><span style="white-space:pre;"> </span>"default_group_id" : "123",</div> <div><span style="white-space:pre;"> </span>"groups" : {</div> <div><span style="white-space:pre;"> </span>"123" : { // 이 키 값이 "group_id"의 벨류값과 항상 동일합니다. </div> <div><span style="white-space:pre;"> </span>"group_id" : "123"</div> <div><span style="white-space:pre;"> </span>... </div> <div><span style="white-space:pre;"> </span>"345" : {</div> <div><span style="white-space:pre;"> </span>"stores" : {</div> <div><span style="white-space:pre;"> </span>"store_id" : "345", </div> <div><span style="white-space:pre;"> </span>....</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>}</div> <div>} </div> <div><br></div> <div>여기서 group_id 가 "123"인 도큐먼트를 어떻게 쿼리를 날려서 찾아야 하나요? </div> <div><br></div> <div>원래 문제는 이것 말고도 category_entity 컬렉션(테이블)과 product_entity 컬렉션 세개의 테이블을 조합해서 </div> <div>getProducts($group_id, $language, $result_type) 라는 함수를 만들고 그룹 아이디에 해당하는 품목을 원하는 언어로 리스트를 쭉 뽑는게 문제였었죠.. </div> <div><br></div> <div>RDB 였으면 웬만한 프로그래밍 언어 가지고 뽑아내는건 주어진 시간내에 만들어내는건 저한텐 큰 문제가 아니었을 문제였는데 몽고디비여서 도대체 어떻게 쿼리를 뽑아내야 할지 모르겠더군요. </div> <div><br></div> <div>고작 3개 테이블 조인 정도 좀 복잡해도 한시간도 안걸려 쿼리를 뽑아냈을 터인데 .. ㅠㅠ </div> <div><br></div> <div>정말 골때리는건 저런 구조를 생각도 못해봤었다는겁니다. </div> <div><br></div> <div>저는 몽고디비로 JSON (혹은 BSON) key : value 쌍으로 되어 있는 테이블 구조에 </div> <div>key에 해당하는 value를 가지고 검색 한다는 것 정도만 알고 있었는데 </div> <div>사용하려는 key 값 자체를 검색하는건 어떻게 하는걸까요? </div> <div><br></div> <div>고수분들의 조언을 부탁드립니다.</div> <div><br></div> <div>미리 감사드립니다.</div> <div><br></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.