Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

265
Vistas
El mejor método para realizar un seguimiento de la progresión de un usuario a través de la lectura de secciones de texto

Similar a zyBooks si está familiarizado con él, quiero rastrear las secciones que el usuario ha leído y verificado completadas con un botón.

Sin embargo, conceptualmente tengo problemas para pensar en qué almacenar en mi base de datos mongo, además de solo un objeto o una matriz de objetos que contiene cada sección y valores booleanos, para realizar un seguimiento de su progreso. Una sección tendrá alrededor de 10 subsecciones. Pero habrá alrededor de 8 secciones en total. Entonces, un total de 80 subsecciones para realizar un seguimiento.

Esto es lo que estaba pensando pero parece ineficiente.

 const sectionArray = [ { section: "1", completed: false, subsections: [ { name: "1.1", completed: false, }, { name: "1.2", completed: false, }, { name: "1.3", completed: false, }, ], }, { section: "2", completed: false, subsections: [ { name: "2.1", completed: false, }, { name: "2.2", completed: false, }, { name: "2.3", completed: false, }, ], }, ... ];

También mostraré una sección y el contenido de sus subsecciones según lo que el usuario decida ver usando react y material ui.

No quiero comprometerme con mi método si hay una alternativa mejor.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que su enfoque está totalmente bien con esa cantidad de datos.

La pregunta es, ¿a qué te refieres con "ineficiente"?

Desde el punto de vista del rendimiento, 80 elementos simplemente no son un problema. Tal vez simplemente no se sienta bien con el manejo de ese código (que es una razón válida).

Una alternativa sería:

 const sectionArray = [ { section: "1", completed: false }, { section: "1.1", completed: false }, { section: "1.2", completed: false }, ]

o (acceso más rápido a las secciones, por ejemplo, sin .find() ):

 const sectionCollection = { "1": false, "1.1": false, "1.2": false, ]

¿Tal vez no necesite almacenar las secciones principales, si se realizan implícitamente cuando se completan todas las subsecciones?

 const sectionCollection = { "1.1": false, // "1" is implicitly done if all "1.x" are done "1.2": false, ]

Probablemente no sea una alternativa apropiada (sería más eficiente si la mayoría de los elementos son siempre false ):

 const sectionArray = [ "1", "1.3", "3.2" ] // 1, 1.3, 3.2 are 'true', all others are 'false'

Solo por diversión: también puede usar números enteros como ID de sección (lo cual es ridículamente sobreoptimizado en el extremo equivocado):

 const sectionCollection = [ 100, 103, 302 ] // list of integers const sectionCollection = [ 0x10, 0x13, 0x32 ] // using hex or bin const sectionCollection = { [100]: false, [101]: true } // integer keys

Y luego incluso almacenar una matriz de bytes en lugar de JSON.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda