일괄 처리로 몽고 컬렉션을 쿼리하는 가장 효율적인 방법은 무엇입니까? 내가 here일괄 쿼리에 해당하는 Mongodb 관용구
설명하지만 스킵에 대한 큰 경고가 나에게 나는 그것을 사용하지한다고 생각합니다으로 뭔가를 할 수있는 것으로 나타났습니다
SELECT * FROM Foo WHERE id > {{floor}} limit 1000;
: SQL의 예를 들어 내가 좋아하는 일을 할 것입니다. (컬렉션이 중요하기 때문에 컬렉션이 충분히 크다고 가정합니다.)
내 모음집에는 자동 생성 된 _id 필드 외에도 색인이 없습니다. 나는 그것과 $ gt $ lt를 사용할 방법이 있는지 확실하지 않습니다.
가 나는 경우 내장 비밀 소스가의 카스바 드라이버를 사용할 것, 중요합니다.
오른쪽, 나는 _id 기본 색인 만 가지고 있으므로 시작할 최소 ID를 모른다. 하지만, 내가 0에서 시작하여 1000을 제한하고 마지막 _id를 가져 와서 증가 시키면 작동한다고 ... 맞습니까? –
실은 db.foo.find ({_id : {$ gt : new ObjectId ("00000000000000000000000000")}}) .limit (1000)와 같은 작업을 수행 할 수 있습니다. 좋은. –
페이지 매김을 위해, 그 접근법 (마지막을 기억하고 그 직후에 시작하는 것)이 권장됩니다. db.foo.find ({_ id : {$ gt : {last_object_id}}) sort ({_ id : 1}). limit (num_per_page)'를 할 수 있습니다. Rembmer가'sort()'를 사용하면 기발한 결과를 얻을 수 있습니다. – dcrosta