이것저것 몽고db에 대해서 .. 공부하고 이제 .. 적용 시키려고 하는데 .. 하나 궁금한게 있어서
어떻게 해야 할지 몰라 혹시 사용 하고 계시는분 계시면 조언 듣고자 질문 드립니다..
기존 mysql 에서는.. 사용자 및 업체 들을 테이블로 나눴습니다.. 나눈 이유는 아래 질문 드리는것처럼
입력 받는 필드의 차이 때문입니다.. 예를들면
공장: 공장이름 , 전화번호, 팩스번호, 사업자번호 ...
판매처 : 판매처이름, 판매처 전화번호, 팩스번호 사업자번호,
사용자: 이름, 전화번호..소속 회사
"id":"k3341095",
"password":"",
"info": {
"type": [
'distribution', 'shop'
],
"name": '제연주식회사',
"ceo": '김제연',
"phone": "01*-****-****"
"phone": "0**-***-****",
"fax": "0**-***-****",
"email": "***@*****.com",
"address": "경기도 의정부시 ",
"reg_code": "213-01-202838"
},
회사의 정보가 이렇다고 하면
사용자는
"id":"k3341095",
"password":"",
"info": {
"type": [
'distribution', 'shop'
],
"name": '김제연',
"phone": "01*-****-****",
"email": "****@*****.com"
},
이런식으로 공장과 판매처는 거의 비슷비슷 해서 합치는게 수월하지만.. 사용자의 경우 info에 들어가는
내용이 전혀 틀려 집니다.. nosql의 장점중 하나가 비정규화 이고 ...
현재 mysql 상에서 user, factory, ... 등.. 사용자별로 테이블이 나눠져있는게 비효율적이라고 생각하고 있어서
하나로 합쳐서 하나의 nosql 콜렉션에서 관리하고 싶은데 ... 저런식으로 입력값의 필드가 .. 서로 다를경우
어떻게 해야 하는지 난감합니다.. nodejs + mongodb 를 사용해서 만들고 있는데
mongoose 에서는 schema 를 생성해서 관리 해야 할텐데 ..
그냥 info를 통으로 OBJECT형식으로 놓고 아무 제약없이 사용해야 할것 같은데 그게 맞는건지도 모르겠구요.
아시는분 계시면.. 조언좀 부탁 드리겠습니다.. 갑자기 해야 할게 많은데 설계부터 막히니 너무 답답하네요
블로그나 카페 구글 검색해도 .. sub-document 나 reference 에 관한 글들만 있지 .. 저렇게 ..
서로다른 필드를 가진 스키마 설계에 대한 글이 나온 곳은 없는거 같아서 .. 막막합니다.. 도움좀 주세요.
ºñÁ¤±ÔÈ = ´Ù¸¥ DB ¿¬µ¿ÀÌ Èûµë
¾îÂ÷ÇÇ db¿¡¼ ÀÎÃâÇÒ¶§ 100¹Ì¸®ÃÊ°¡ °É¸®³ª 200 ¹Ì¸®ÃÊ °É¸®³ª ¾î´À Á¤µµ ¹Ì¸¸ÀÌ¸é »ç¿ëÀÚ°¡ º¸±â¿£ ±×´Ú Â÷ÀÌ°¡ ¾ø´Â°É°Å¶õ ¸»ÀÌÁÒ...
°Å±â´Ù ÀÌ·± Á¾·ù µ¥ÀÌÅÍ´Â »ç¶÷ÀÌ ´Ù¸¥ÀÏ ÇÏ´Ù ±î¸Ô´Â½Ã°£ÀÌ ¸¹Áö ¾Ê³ª ½Í±âµµ Çϳ׿ä
Á¤±Ôȵµ .. ¸Ó¸®°¡ ³ªºü¼ Àß ¸øÇÏ°í Á¦ ¼º°Ý¿£ ±×³É json À¸·Î Á¤±ÔÈ ¾øÀÌ °³¹ßÇÏ´Â°Ô ÆíÇÏ°í Çؼ mongodb¸¦ ¼±ÅÃÇÑ°Ì´Ï´Ù.
mongodb °¡ ¾Æ´Ï¶ó ´Ù¸¥ db¸¦ ¼±ÅÃÇصµ ... ¹æ½Ä¿£ Å©°Ô ´Ù¸£Áö ¾Ê´õ±º¿ä .. ³ªÁß¿¡ geo query ±â´Éµµ »ç¿ëÇÏ°Ô µÇ°í Çؼ
¼±ÅÃÇÏ°Ô µÇ¾ú½À´Ï´Ù.
DB_Type Çʵ忡¼..
ÆǸÅÀÚ : 1
»ç¿ëÀÚ : 2
°ü¸®ÀÚ: 5
ÃÖ°í°ü¸®ÀÚ: 9
ÀÌ·¸°Ô Çغ¸´Â °Íµµ ¹æ¹ýÀ̰ڳ׿ä..
°ü¸®´Â ÆíÇÏ°Ú½À´Ï´Ù.