ruby - nodejs - Paginación con MongoDB
pagination mongodb nodejs (1)
La paginación en MongoDB se puede lograr usando una combinación de limit()
y skip()
.
Por ejemplo, supongamos que tenemos una colección llamada usuarios en nuestra base de datos activa.
>> db.users.find().limit(3)
Esto recupera una lista de los primeros tres documentos de usuario para nosotros. Tenga en cuenta, esto es esencialmente lo mismo que escribir:
>> db.users.find().skip(0).limit(3)
Para los próximos tres, podemos hacer esto:
>> db.users.find().skip(3).limit(3)
Esto omite los primeros tres registros de usuario y nos da los siguientes tres. Si solo hay un usuario más en su base de datos, no se preocupe; MongoDB es lo suficientemente inteligente como para devolver solo los datos presentes, y no se bloqueará.
Esto se puede generalizar de esta manera y sería aproximadamente equivalente a lo que haría en una aplicación web. Suponiendo que tenemos variables llamadas PAGE_SIZE
que se establece en 3, y un PAGE_NUMBER
arbitrario:
>> db.users.find().skip(PAGE_SIZE * (PAGE_NUMBER - 1)).limit(PAGE_SIZE)
No puedo hablar directamente sobre cómo emplear este método en Ruby on Rails, pero sospecho que la biblioteca Ruby MongoDB expone estos métodos.
He estado usando MongoDB y RoR para almacenar datos de registro. Estoy sacando los datos y buscando la página de los resultados. ¿Alguien ha terminado de buscar en MongoDB o conoce algún recurso en línea que pueda ayudarme a comenzar?
Aclamaciones
Eef