개발 Q&A

제목 [mongoDB] 하나의 document를 다른 document에서 품을수 있나요?
글쓴이 루아루아루 작성시각 2014/09/24 18:52:04
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 12088   RSS
예를 들어

products 콜렉션의 한 document 안에 option 콜렉션의 한 document가 배열로 작성되게끔 하고 싶은데요


product 콜렉션 예(ObjectId는 가정)
{
      "_id" : ObjectId(p1),
      <이 부분에 option 콜렉션의 _id = 2 document가 들어옴.>
}
{
      "_id" : ObjectId(p2),
      <이 부분에 option 콜렉션의 _id =1 document가 들어옴.>
}


==============================================
option 콜렉션 예
{
      "_id" : ObjectId(o1),
      내용
}
{
      "_id" : ObjectId(o2),
      내용
}



어떤 키워드로 검색해서 알아봐야 할까요 ;;;


몽고가 참 빠르고 접근하긴 쉬운데 전체적인 디비모델을 구성하는건 좀 생각을 해야 겠네요 ㅠㅠ
 다음글 날짜 관련 문의입니다. (1)
 이전글 Aptana 쓰시는분 계시는지요? (18)

댓글

darkninja / 2014/09/24 20:47:11 / 추천 0
몽고디비가 뭔지 모르지만
json 데이타를 원하는 형태로 만든후에 보내주고
받아서 처리하면 될거 같은데 ...
...요!
별 도움이 안되겠네요.
들국화 / 2014/09/25 11:46:23 / 추천 0
공부중이라 아는건 별로 없지만 할수는 있는것 같네요.
하지만 확장이 힘들기 때문에 nosql의 특징이 안살고 그럴경우 rdbms가 훨씬 유리하지 않을까 합니다.
mysql로도 일반적으로 방법으로도 1억건 정도데이타 일때 설계만 잘하면 무리없이 쓸수 있습니다. 게시판 테스트를 해 봤구요.
수억건이 된다고 해도 파티셔닝 설정을 하거나 하면 크게 무리가 없습니다.
루아루아루 / 2014/09/25 18:48:13 / 추천 0
<자문 자답>

어제 퇴근하기전에 질문해놓고 아침에 오자마자 해결했는데 이제야 다시 글을 쓰네요.

생각보다 간단하게 해결되었습니다. 

먼저 option 콜렉션의 id가 $exists인지 확인하고 있으면 그 id값을 string값으로 받아오고

그 string으로 받아온 ObjectId를 product 안에 new MongoId를 이용해서 넣으면 되는거였습니다.

해놓고 보니 복잡하진 않더라구요