2013-02-28 2 views
1

의 내부 목록 가정하여 MongoDB에서 다음과 같은 데이터 구조 :MongoDB를 - 인덱스 오브젝트

{ 
    "_id" : "Bob Blocker", 
    "ratings" : { 
     "771206753" : 1 
    }, 
    "prevalence" : 1 
} 

어떻게 하나 개의 인덱스 수 ensureIndex()를 사용 ratings의 내부 구조의 열쇠? 나는 _id 문서와 등급 객체의 모든 키 (이 예제에서는 "771206753")를 연관시키는 색인을 작성하고자합니다.

ratings으로 색인을 작성하면 충분합니까? 등급 객체의 가치 부분도 기록하지 않습니까? 조회가 해당 키에 의해 의도 된 경우 내 스키마를 이동해야합니까?

답변

2

동적 키를 인덱싱 할 수 없으며 ratings 인덱싱을 사용하면 전체 개체를 blob로 인덱싱하므로이 작업을 원하지 않을 수도 있습니다.

그것은 당신의 스키마를 재 작업하는 것이 더 작업 할 수 있습니다

{ 
    "_id" : "Bob Blocker", 
    "ratings" : [ 
     {id: "771206753", value: 1} 
    ], 
    "prevalence" : 1 
} 

다음 인덱스 'ratings.id'.