2014-07-13 4 views

답변

2

단일 필드 인덱스를 사용하여 정렬하는 경우 MongoDB가 인덱스를 어느 방향 으로든 탐색 할 수 있으므로 키 순서는 중요하지 않습니다. 당신은 설명 명령을 사용하여 해당를하여 확인할 수 있습니다 :

"cursor" : "BtreeCursor a_-1 reverse" 

reverse :

db.coll.find().sort({a: 1}).explain(); 

출력 관련 부분은 (당신은 출력의 다른 필드에 대한 docs를 확인해야합니다) 부분은 MongoDB가 역순으로 인덱스를 통과 한 것을 의미합니다.

그러나 정렬을 위해 복합 색인을 사용하는 경우 정렬 순서가 중요합니다. 예를 들어, 다음과 같은 화합물 지수 걸릴 :

db.coll.ensureIndex({a: 1, b: -1}); 

이 인덱스는이 정렬 작업을 지원할 수 있습니다

db.coll.find().sort({a: 1, b: -1}); 
db.coll.find().sort({a: -1, b: 1}); 

을하지만,이 인덱스를 수 없습니다 지원이 정렬 작업은 :

db.coll.find().sort({a: 1, b: 1}); 

정렬에 대한 자세한 내용은 documentation을 확인해야합니다.

관련 문제