2013-08-05 4 views
0

무한 스크롤 REST API 호출이 필요합니다. 나는 일반적인 접근법을 가지고 있지만, 내가 성취하고자하는 것에 대한 적절한 구문을 찾을 수없는 것 같습니다. 본질적으로, 웹 앱은 게시물 목록을 얻기 위해 전화를 겁니다. 이제 사용자는 내가로드 한 첫 번째 100을 지나서 스크롤했습니다. 이제, 내가 끝내기 시작한 곳에서 MongoCursor을 시작하려면 어떻게해야합니까?MongoCursor PHP로 무한 스크롤 응용 프로그램 배치

나는 앱을 int으로 보내고 그 값을 반환하며 단지 $cursor->find()->skip($x)을 수행합니까?

나는 어떻게 든 내 앱을 내 커서로 보낸 다음 더 많은 결과를 얻을 준비가되면 커서를 다시 보내고 난 후에 다시 연결하고 계속한다고 생각하고 있습니까?

이 튜토리얼은 - http://artsy.github.io/blog/2013/02/15/infinite-scroll-with-mongodb/입니다.하지만 어떤 매개 변수를 보내고 있는지, 왜 그런지 알 수는 없습니다.

미리 도움을 청하십시오!

나단

+1

...'skip' :

다음 대답 및 블로그 게시물

더 자세히 주제를 설명 를 현재 시작 인덱스 (정수)로 설정하고 '제한된 값'으로 만 "페이지"분량의 데이터 만 가져올 수 있습니다. 또는 데이터에 따라 필드를 정렬하고 표시된 마지막 값인'$ gt'를 항상 수행하면 매우 효율적입니다. – WiredPrairie

+1

가능한 [mongodb 및 php를 사용하여 페이지 매김 쿼리를 올바르게 처리하는 방법] (http://stackoverflow.com/questions/3010744/how-to-handle-pagination-queries-properly-with-mongodb-and-php) – WiredPrairie

+0

'이 (가) 중복되었습니다. 내가 이것을하기 전에 그 지위를 찾았 으면 좋겠다. 고마워, @ WiredPrairie – nathansizemore

답변

0

나는이 자습서를 발견했습니다 - http://artsy.github.io/blog/2013/02/15/infinite-scroll-with-mongodb/ 하지만 나는 그들이 보내는 이유는 어떤 매개 변수 파악 수없는 것?

페이지 매김과 무한 스크롤은 범위 쿼리와 함께 구현하는 것이 가장 좋습니다. 여기에 인용 된 블로그 게시물이 보여줍니다. 건너 뛰기와 제한은 개념적으로 간단하며 몇 페이지 만 다루는 경우 실제로는 꽤 괜찮습니다.하지만 페이지 수가 증가하면 실적이 급격히 떨어지기 시작합니다.

skip으로 쿼리 (잘하면 인덱싱 됨)를 발행하면 MongoDB는 첫 번째 결과로 이동하여 앞으로 건너 뛰고 "건너 뛰기"횟수만큼 이동해야합니다. 인덱싱 된 쿼리의 경우 이는 인덱스를 걷는 것을 의미하며 전체적으로 메모리에 없을 수 있습니다. 이것을 우리의 기준이 우리가 마지막으로 보았던 것보다 크거나 작게 요청하는 skip을 사용하지 않는 범위 쿼리와 비교해보십시오. MongoDB는 첫 번째 결과로 오른쪽으로 이동할 수 있으며 "제한"문서를 통해서만 반복해야합니다. 당신은 기본적으로있어