2012-05-26 5 views
0

나는 MongoDB에 완전히 익숙하며 MongoDB Definitive 가이드 북을 읽기 시작했다. 내가 7 페이지의 오전은 말한다 : 그들이 그 문장에 의해 무슨 뜻 이죠 그래서MongoDB에서 관련된 문서 유형을 그룹화하기

{"greetings" , "Hello World"} 

같은은 "함께 문서의 그룹 관련 유형"

나는 그것이 문서를 :(하지 않는 것입니다 ? 내 머리를 그릴 수 있도록 나에게 더 자세한 예를 전해 주 시겠어요 감사에게

답변

1

을 문서 비슷한 제품을 더 사실이다.이 경우 {"greetings": "Hello World"}

만 키 구성은 매우 간단한 문서 "인사", 그 값 "Hello World"를 찾아라. 일부 언어에서는이를 연관 배열 또는 해시 또는 사전이라고합니다. 이 설명의 핵심은 MongoDB가 구조가 무엇인지 신경 쓰지 않는다는 것입니다. 스키마가 없으므로 컬렉션의 모든 문서가 완전히 동일한 구조를 유지할 필요가 없습니다. 그러나 효율성과 조직적 목적을 위해 유사한 문서를 단일 컬렉션에 저장하는 경향이 있습니다. 따라서 순수하게 디자인 관점에서 컬렉션 당 매우 유사한 문서로 끝납니다.

MongoDB의 문서는 다소 JSON 구조 (bson은 구체적 임)와 비슷합니다. 임의의 깊이가 될 수 있으며 선택한 오브젝트 레벨에서 색인을 작성하여 더 빨리 검색 할 수 있습니다.

대부분의 경우 mongodb는 사용자가 익숙한 언어를 나타내는 객체로 멋진 객체 저장소처럼 생각하면됩니다. 여러분의 언어에 맞는 드라이버는 네이티브 객체 유형과 mongodb의 bson 표현 사이의 다리를 처리 할 것입니다. 개체를 만들고 저장합니다. mysql을 이해하는 것만 큼 다르지는 않지만 테이블 스키마를 정의 할 필요가 없다는 것을 알고 있습니다. 원하는 것을 저장하기 만하면됩니다. 문서를 의미

이 인사말 (키)를 포함하고 인사말에 "Hello World"입니다 (값) :

{ "안녕하세요" "인사는"} 더 좋아

1

사실, 문서는 것 . 배열, 포함 된 문서 등의 값을 포함하여 문서는 매우 복잡한 키 값 쌍이 될 수 있습니다.

같은 컬렉션에 여러 개의 임의 문서를 포함하면 찾기가 어려울 것입니다 후에. 따라서 공통점이있는 콜렉션 문서를 그룹화하는 것이 좋습니다.

관련있는 예로는 시스템의 사용자를 나타내는 각 문서가있는 컬렉션이있을 수 있습니다. 각 문서의 필드는 각 사용자에 대한 정보의 양에 따라 다르지만 이메일 주소, 이름 등이있을 수 있습니다. 그런 다음 일부 조건을 만족하는 모든 사용자를 쿼리 할 수 ​​있습니다.

다른 컬렉션에는 회사가있을 수 있습니다. 회사에서 일하는 모든 사용자를 대표하는 회사 문서의 필드 중 하나 인 사용자 또는 사용자 ID의 배열이있을 수 있습니다.

나는 당신이 언급 한 특정 책에 익숙하지 않지만, 앞으로 갈아 엎는다면 더욱 의미가있게 될 것입니다. 그렇지 않은 경우 더 많은 예제를 보려면 here 페이지 중 일부를 읽는 것이 좋습니다.

관련 문제