Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私は .net アプリケーションにページングを実装しています。ページ番号ごとにデータを取得したいので、たとえば、合計 100 個のアイテムがあり、ページごとに 10 個のアイテムを表示している場合、ユーザーが「2」をクリックすると、次のアイテムが表示されます。 11 から 20 で、mongo から 11 から 20 の間のデータのみをフェッチしたいのですが、SQL でこれを行う方法は知っていますが、Mongo は初めてです。
何か案が?
あまりスケールアップしない簡単な解決策は次のとおりです。
db.col.find(..).skip(i * s).limit(s)ここで、i = ページ番号 (0 ベース) および s = ページ サイズ (この場合は 10) です。
db.col.find(..).skip(i * s).limit(s)
前述したように、skip(N) は o(N) 操作であり、N が増加すると速度が低下するため、このソリューションは大量のデータに対してはうまく機能しません。スケーリングするソリューションはより複雑で、一般的に状況に応じた性質のものです。