2016-06-15 1 views

답변

0

MongoDB를 일괄 처리하는 두 가지 방법을 제공합니다 오프셋 (offset) 페이징 된 결과를 사용하십시오. 첫 번째는 일반적으로 cursor.skip (n)이라고 부르는 건너 뛰기입니다. 여기서 n은 n 개의 문서를 건너 뛰도록 알려줍니다.

예 : skip (4) // 4 개의 문서를 건너 뛰십시오.

다른 접근법은 제공하는 숫자로 출력을 엄격하게 제한하는 제한을 사용하는 것입니다.

예 : . 10 개 문서

효율적으로 연속적으로 일괄 작업의 사용을 모두 사용하려면

에 db.collection.find() 한계 (10) // 제한 출력 :.

db.collection.find()을 (건너 뛰기 10). 제한 (10)

이렇게하면 10 개의 문서로 구성된 페이지를 건너 뛰고 10 개의 문서로 출력을 제한하여 페이지 매김을 구현할 수 있습니다.

+0

mongoid 문서로 건너 뛰기를 사용하면 비용이 많이들 수 있습니다. – tes

0

pymongo의 irc 채널마다 # 몽고인은 freenode에 차이가 없습니다. 사실 mongoid 문서에서 오프셋과 같은 오프셋을 찾을 수 없습니다. 또한 건너 뛰기는 최대한 피해야합니다. 결과를 건너 뛰면 여전히 그들을 건너 뛰기 위해 그들을 계산할 필요가있다. 이것은 낭비적이고, 일치하는 모든 레코드의 전체 인덱스가 걸려 있어야하므로 페이지 번호가 높을수록 로그 n 성능을 나타냅니다. $ gt 쿼리를 사용하여 "이미 본 것 이후의 모든 것을"일치 시키면 MongoDB가 인덱스를 적절하게 사용할 수 있습니다.