質問

私は、ログデータを保存するためにMongoDBとRoRのを使用しています。私は、データを引き出し、ページに結果を探しています。誰MongoDBのか、私が始めるのに役立つ可能性のあるすべてのリソースをオンラインのノウハウとページング行われていますか?

乾杯

EEF

役に立ちましたか?

解決

のMongoDBにおける改ページがlimit()skip()の組み合わせを使用することによって達成することができる。

たとえば、私たちは私たちのアクティブ・データベースでユーザーと呼ばれるコレクションを持っていると仮定します。

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

これは、私たちの最初の3つのユーザードキュメントのリストを取得します。これは本質的に同じである、注意書きのように:

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

次の3のために、私たちはこれを行うことができます

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

これは最初の3つのユーザーレコードをスキップし、そして私たちに次の3つを提供します。データベースで唯一のより多くのユーザーが存在する場合は、心配しないでください。 MongoDBは存在しているだけのリターンデータに十分にスマートで、クラッシュしなくなります。

このはそうのように一般化することができ、あなたは、Webアプリケーションで何をするのかとほぼ同等になります。我々は3に設定されているPAGE_SIZEと呼ばれる変数、および任意PAGE_NUMBERを持っていると仮定します:

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top