몽고디비 커서 메서드

최대 1 분 소요

커서 메서드

커서 메서드는 이미 익숙하게 사용해본 pretty(), count()메서드와 limit(), sort()등등 커서와 사용하는 메서드들을 말하는것 같다.

몽고디비 문서에 따르면 그 종류는 4가지로 국한되어 있지 않다.

이번에는 우선 리미트와 소트에대해서만 정리해 보자!(자주 사용할듯 하니!)

limit

직관적으로 이해 가능. 결과의 커서의 수를 제한하는 메서드. 숫자를 매개변수로 받는다.

sort

역시 직관적으로 이해할 수 있다. 커서를 정렬하는 메서드 이다.

매개변수로 정렬하고자 하는 기준을 작성해 준다. 가령 몽고디비 강의의

db.zips.find().sort({ pop: 1, city: -1 });

해당 쿼리는 두가지 기준으로 정렬을 하겠다는 의미이다. pop 프로퍼티는 오름차순, city 프로퍼티는 내림차순이다.

limit().sort() ? sort().limit() ?

흔히 할수 있는 실수일듯 하다.

전자의 쿼리는 커서의 수를 제한한 다음 정렬하기 때문에 간혹 원하지 않는 결과를 초래할 수도 있다. 후자의 쿼리는 커서들을 먼저 정렬을 진행하기 때문에 제한된 수의 정렬된 커서들을 얻을수 있다.

하지만 몽고디비는 두 쿼리 모두 상관이 없다고 한다. 몽고디비는 전자의 쿼리를 후자로 가정하여 진행한다.

댓글남기기