Latest web development tutorials

MongoDB를 포함하는 인덱스 쿼리

다음 쿼리를 다루는 공식 MongoDB를 문서의 설명, 질의입니다 :

  • 모든 쿼리 필드 인덱스의 일부
  • 동일한 쿼리의 모든 필드는 인덱스를 반환

모든 질의 필드에 표시하기 때문에, 동일한 인덱스를 이용하여 질의 결과를 전체 검색 질의 용어를 검색하고 반환하지 않고 인덱스 MongoDB의 데이터 파일의 일부이다.

인덱스가 RAM에 상주하기 때문에,보다 데이터에 대한 액세스는 인덱스에서 문서를 스캔하여 훨씬 빠르게 데이터를 읽을 수 있습니다.


피복 률 쿼리를 사용

캡 인덱스 쿼리를 테스트하려면 사용자의 다음 세트를 사용 :

{
   "_id": ObjectId("53402597d852426020000002"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "gender": "M",
   "name": "Tom Benzamin",
   "user_name": "tombenzamin"
}

우리는 공동 인덱스 사용자 수집, 현장 성과 _ 이름을 만듭니다

>db.users.ensureIndex({gender:1,user_name:1})

이제, 지수는 다음과 같은 쿼리를 포함합니다 :

>db.users.find({gender:"M"},{user_name:1,_id:0})

즉, 위의 질의에 대해, MongoDB를 데이터베이스 신청을하지 않을 것입니다. 대신에, 그것은 매우 빠른 데이터 쿼리 인 인덱스로부터 데이터를 추출한다.

_id 필드를 포함하지 않는 우리의 인덱스, _id 쿼리에서 기본적으로 반환되기 때문에, 우리는 MongoDB의 쿼리 결과에서 제외 집중할 수 있습니다.

다음 예는 쿼리가 적용되지 않습니다 _id을 배제하지 않고있다 :

>db.users.find({gender:"M"},{user_name:1})

마지막으로, 다음 쿼리 경우 쿼리 인덱스 커버를 사용할 수 없습니다

  • 모든 인덱스 필드는 배열입니다
  • 모든 하위 인덱스 필드는 문서이고