sql >> データベース >  >> NoSQL >> MongoDB

MongoDBによるページネーション

    MongoDBでのページ付けは、limit()の組み合わせを使用して実行できます。 およびskip()

    たとえば、アクティブなデータベースにusersというコレクションがあるとします。

    >> db.users.find().limit(3)
    

    これにより、最初の3つのユーザードキュメントのリストが取得されます。これは基本的に書くことと同じであることに注意してください:

    >> db.users.find().skip(0).limit(3)
    

    次の3つでは、これを行うことができます:

    >> db.users.find().skip(3).limit(3)
    

    これにより、最初の3つのユーザーレコードがスキップされ、次の3つのレコードが提供されます。データベースにユーザーがもう1人しかいない場合でも、心配する必要はありません。 MongoDBは、存在するデータのみを返し、クラッシュしないほどスマートです。

    これはそのように一般化することができ、Webアプリケーションで行うこととほぼ同じです。 PAGE_SIZEという変数があると仮定します これは3に設定され、任意のPAGE_NUMBER

    >> db.users.find().skip(PAGE_SIZE * (PAGE_NUMBER - 1)).limit(PAGE_SIZE)
    

    Ruby on Railsでこのメソッドを使用する方法について直接話すことはできませんが、RubyMongoDBライブラリがこれらのメソッドを公開していると思われます。




    1. MongoDbのC#ドライバー:limit + countの使用方法は?

    2. Node.jsでfindOneをループで使用するには時間がかかりすぎる

    3. mongodbでの1回の更新呼び出しで2つの別々の配列にプッシュします

    4. Pythonからredisに無限大を渡すにはどうすればよいですか?