users reglas indexon contador auth ios firebase

ios - reglas - indexon rules firebase



Consulta de Firebase con soluciones posibles de límite/compensación (1)

Sí, es definitivamente posible buscar en una larga lista de nodos secundarios. El truco es recordar la clave (o prioridad o cualquier valor que ordene) del último elemento en la página actual y luego pasar eso a queryStartingAt... para la página siguiente.

Kato escribió un gran ejemplo en su blog sobre cómo implementar consultas SQL comunes en Firebase :

// fetch page 2 of widgets new Firebase("https://examples-sql-queries.firebaseio.com/widget") .startAt(null, lastWidgetOnPrevPage) .limitToFirst(LIMIT+1) // add one to limit to account for lastWidgetOnPrevPage .once(''value'', function(snap) { var vals = snap.val()||{}; delete vals[lastWidgetOnPrevPage]; // delete the extraneous record console.log(''widgets on this page'', vals); });

Este ejemplo usa JavaScript SDK, pero los métodos relevantes también están disponibles en iOS SDK.

Tenga en cuenta que este fragmento recupera un elemento adicional ( LIMIT+1 ), ya que comenzamos en el último elemento de la página anterior.

¿Hay alguna manera de recuperar datos de firebase con límite y desplazamiento? Por ejemplo, tengo alrededor de 1000 elementos en firebaseRef y quiero desarrollar algún tipo de paginación. ¿Hay alguna manera de hacerlo sin cargar la lista completa de objetos?

Por ahora estoy usando queryLimitedToLast(limit) para hacerlo y aumento el limit para cada página siguiente. Pero este método no me permite contar las páginas.

ACTUALIZAR:

Una cosa que no mencioné pero es muy importante. Mis datos muestran desde el último hasta el primero. Imagina que es un simple mensajero pero con paginación. Así que quiero mostrar los últimos 20 artículos, luego 20 antes de estos 20, etc.

Gracias.