Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

188
Visualizações
Cómo encontrar todo u obtener todo en dynamo db en NodeJS

Quiero obtener todos los datos de una tabla en Dynamo DB en nodejs, este es mi código

 const READ = async (payload) => { const params = { TableName: payload.TableName, }; let scanResults = []; let items; do { items = await dbClient.scan(params).promise(); items.Items.forEach((item) => scanResults.push(item)); params.ExclusiveStartKey = items.LastEvaluatedKey; } while (typeof items.LastEvaluatedKey != "undefined"); return scanResults; };

Implementé esto y funciona bien, pero nuestra herramienta de revisión de código marca en rojo que esto no está optimizado o causa una fuga de memoria, simplemente no puedo entender por qué, he leído en otro lugar que escanear la API de dynamo DB no es lo más forma eficiente de obtener todos los datos en el nodo o hay algo más que me falta para optimizar este código

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

HAZ ESTO SOLO SI EL TAMAÑO DE DATOS ES MUY MENOR (menos de 100 elementos o tamaño de datos inferior a 1 MB, eso es lo que prefiero y en ese caso no necesitas un ciclo do-while while)

Piense en el siguiente escenario: ¿Qué sucede en caso de que en el futuro se agreguen más y más elementos a la tabla de DynamoDB? - Esto devolverá todos sus datos y los colocará en la variable scanResults , ¿verdad? Esto afectará la memoria. Además, la operación de escaneo de DynamoDB es costosa, tanto en términos de memoria como de costo.

Está perfectamente bien usar la operación ESCANEAR si los datos son muy pequeños. De lo contrario, vaya con la paginación (siempre prefiero esto). Si hay miles de elementos, ¿quién los examinará todos de una sola vez? Así que usa la paginación en su lugar.

Tomemos otro escenario, si su requisito es recuperar todos los datos para realizar algunos análisis o agregaciones. Luego, almacene mejor los datos agregados por adelantado en la tabla (la misma tabla de DynamoDB o una diferente) como un elemento o use alguna base de datos de análisis.

Si su requerimiento es otro, elaborelo en la pregunta.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda