이제 last_id 메소드를 사용하여 스크롤링 페이징을 구현하고 싶지만 몇 가지 문제가 있습니다
해결책이 있나요? 감사합니다
여기서 언급한 last_id를 반드시 _id로 정의하지 마세요. 그 원리는 정렬된 필드의 마지막 숫자를 찾고, 다음 페이지는 그 숫자에서 시작하는 것입니다. 따라서 name을 기준으로 정렬되었으므로 last_id은 실제로 C의 name이어야 합니다. 다음에는
last_id
_id
name
그러나 이 페이징 방법에는 정렬된 필드가 고유해야 한다는 문제가 있습니다. 그렇지 않으면 일부 문서를 건너뛸 수 있습니다. 예를 들어 c.name = b.name인 경우 위 쿼리는 분명히 레코드 b를 건너뜁니다. 따라서 정렬 필드가 고유하지 않은 경우 _id:
c.name = b.name
해당 필터를 다음으로 변경해야 합니다.
여기서 언급한
을 확인하세요. 으아아아last_id
를 반드시_id
로 정의하지 마세요. 그 원리는 정렬된 필드의 마지막 숫자를 찾고, 다음 페이지는 그 숫자에서 시작하는 것입니다. 따라서name
을 기준으로 정렬되었으므로last_id
은 실제로 C의name
이어야 합니다. 다음에는그러나 이 페이징 방법에는 정렬된 필드가 고유해야 한다는 문제가 있습니다. 그렇지 않으면 일부 문서를 건너뛸 수 있습니다. 예를 들어
와 같이 두 번째 정렬 필드를 추가해야 합니다. 으아아아c.name = b.name
인 경우 위 쿼리는 분명히 레코드 b를 건너뜁니다. 따라서 정렬 필드가 고유하지 않은 경우_id
:해당 필터를 다음으로 변경해야 합니다.
으아아아