MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Пагинация с MongoDB

Пагинацията в MongoDB може да се осъществи с помощта на комбинация от limit() и skip() .

Например, приемете, че имаме колекция, наречена потребители в нашата активна база данни.

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

Това извлича за нас списък с първите три потребителски документа. Забележете, това по същество е същото като писането:

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

За следващите три можем да направим това:

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

Това прескача първите три потребителски записа и ни дава следващите три. Ако във вашата база данни има само още един потребител, не се притеснявайте; MongoDB е достатъчно интелигентен, за да връща само наличните данни и няма да се срине.

Това може да бъде обобщено по този начин и би било приблизително еквивалентно на това, което бихте направили в уеб приложение. Ако приемем, че имаме променливи, наречени PAGE_SIZE който е зададен на 3 и произволен PAGE_NUMBER :

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

Не мога да говоря директно как да използвам този метод в Ruby on Rails, но подозирам, че библиотеката Ruby MongoDB разкрива тези методи.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Предупреждение при свързване към MongoDB с Node сървър

  2. Как да наблюдавате вашите сървъри за бази данни с помощта на ClusterControl CLI

  3. 3 начина за сортиране на документи в MongoDB

  4. mongodb:как мога да видя времето за изпълнение на командата aggregate?

  5. Yeoman, Mongoose и MongoDB скеле