[QUESTION] How should I paginate my data using DataLoader?

Abierto
#231 20 comentarios 8 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
graphql, javascript, node.js

Línea de trabajo

Comienza con la consulta GraphQL anidada del issue y revisa la documentación de DataLoader y los ejemplos del proyecto sobre paginación y batching. Define la guía solicitada para paginar comentarios y respuestas anidados contra una base de datos, evitando un uso excesivo de memoria y las consultas N+1; se considera terminado cuando exista un enfoque o ejemplo documentado y adecuado para el proyecto.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

help wanted

I have the following query:

{
  user(id: $id) {
    username
    comments(last: 10) { # How can I handle pagination here?
      id
      body
      author {
        username
      }
      replies(last: 3) { # How can I handle pagination here?
        id
        body
      }
    }
  }
}

How can I handle pagination in those cases? Should I use DataLoader?

Until now, everything that I found on the web suggests using the splice array method, but if I use it, my server will run out of memory, as I should paginate the data on the SQL query, am I right?

So how I am able to query my database with such GraphQL query? Do you handle those cases in any of your projects?

I am really struggling with that. It is even possible to use DataLoader in this case? And if I not use it, I my server will suffer a lot with the N+1 problem...

Lenguaje dominante
JavaScript
Estrellas
13.4k
Forks
522
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de graphql/dataloader

Todos los issues de graphql/dataloader

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.