
CollectionModify::skip 메소드는 MongoDB의 Cursor API에서 사용할 수 있는 메소드입니다. 이 메소드는 Collection에서 특정 문서를 건너뛰는 기능을 제공합니다.
skip 메소드는 Cursor의 offset을 설정하는 역할을 합니다. offset은 0부터 시작하는 인덱스입니다. 예를 들어, skip(5) 메소드는 Cursor의 offset을 5로 설정합니다.
이러한 offset은 limit 메소드와 함께 사용할 때 중요합니다. limit 메소드는 Cursor에서 가져올 문서의 수를 설정하는 역할을 합니다.
예를 들어, db.collection.find().skip(5).limit(10).toArray() 코드는 Collection의 5번째 문서부터 10개의 문서를 가져오기 위해 사용했습니다. 하지만 실제로 가져오는 문서의 인덱스는 6부터 시작되는 것이 아닌 0부터 시작되는 것입니다.
이러한 이유는 skip 메소드가 offset을 설정하기 때문입니다. offset은 0부터 시작하는 인덱스이기 때문에, skip(5) 메소드는 Cursor의 offset을 5로 설정합니다. 따라서, 실제로 가져오는 문서의 인덱스는 6부터 시작됩니다.
skip 메소드가 제대로 작동하지 않는 이유는 offset이 0부터 시작하는 인덱스인 때문입니다.
다음은 예시입니다.
#hostingforum.kr
javascript
// offset이 0부터 시작하는 인덱스인 경우
db.collection.find().skip(5).limit(10).toArray()
// offset이 1부터 시작하는 인덱스인 경우
db.collection.find().skip(5).limit(10).toArray().map((doc, index) => {
return { ...doc, index: index + 1 };
})
위 예시에서, offset이 0부터 시작하는 인덱스인 경우, 실제로 가져오는 문서의 인덱스는 6부터 시작됩니다. 하지만 offset이 1부터 시작하는 인덱스인 경우, 실제로 가져오는 문서의 인덱스는 6부터 시작되지 않고, 7부터 시작됩니다.
따라서, skip 메소드가 제대로 작동하지 않는 이유는 offset이 0부터 시작하는 인덱스인 때문입니다.
2025-06-18 05:48