많은 필드를 처리하는 연락처 데이터베이스를 구현하고 있습니다. 그들 중 대부분은 미리 정의되어 있고 바운드라고 여겨 질 수 있지만, 그렇지 않은 커플이 있습니다. 우리는이 필드들 중 하나를 '그룹'이라고 부를 것입니다.개체 배열과 개체 배열에 대한 Mongo 인덱싱
'groups' : {
152 : 'hi',
111 : 'group2'
}
을하지만 일부 읽은 후 나는 내가 그 일을해야 보인다했습니다 : 우리가 현재 그것을 구현하는 방법입니다 (각 문서/접점은 '그룹'필드가)
'groups' : [
{ 'id' : 152, 'name' : 'hi' },
{ 'id' : 111, 'name' : 'group2' }
...
]
과 다음 인덱스를 적용 db.contact.ensureIndex({'groups.id':1});
내 질문에 관한 기능입니다. 두 구조의 차이점은 무엇이며 색인은 실제로 어떻게 만들어 졌는가? (단순히 각 문서/연락처 내에서 색인을 생성 할 것인가 아니면 모든 문서/연락처의 모든 그룹을 가진 본격적인 색인을 작성하는 것인가?)
나는 이것이 구조적으로 가장 좋은 방법이라고 가정하고 있지만 잘못된 것이면 알려주세요.
이것은 좋은 대답이지만 처음 두 링크가 깨졌습니다. 나는 수색 중이었고 그물에서 새 위치를 찾을 수 없다. 어떤 도움이 필요합니까? – portforwardpodcast
안녕하세요, 당신의 응답을 읽어서, 나는'db. .find ({ "groups": { "id": 152}}})와 같은 쿼리에 인덱스가 사용되는지 궁금합니다. –