バグでmongoコレクションを照会する最も効率的な方法は何ですか?私は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