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

201
Visualizações
NodeJS sin marcos: findById

Soy principiante y trato de hacer una función findByID con el archivo NodeJS y JSON como una base de datos sin marcos, código:

 const http = require("http"); const url = require("url"); const fs = require("fs"); const querystring = require("querystring"); const data = fs.readFileSync("./data/data.json"); let todos = JSON.parse(data); const server = http.createServer((req, res) => { const urlparse = url.parse(req.url, true); if (urlparse.pathname == "/todos" && req.method == "GET") { const search = urlparse.search; if (search) { const [, query] = urlparse.search.split("?"); const data = querystring.parse(query); todos = todos.filter((todo) => todo.id === data.id); res.end(JSON.stringify(todos, null, 2)); } }})

Cuando consulté con el cartero por primera vez, todo estaba bien. 1ra solicitud

Cuando reviso la segunda vez en la ventana de respuesta, hay una matriz vacía. 2da solicitud

Cada solicitud utilizó una identificación diferente.

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

0

No veo todos definidos, así que asumo que es global, esta línea la está mutando en cada solicitud:

 todos = todos.filter((todo) => todo.id === data.id);

Otra cosa es que si la identificación es única, puede usar todos.find para obtener la primera coincidencia.

Entonces, en su lugar, use una nueva variable y encuentre:

 const todoMatch = todos.find((todo) => todo.id === data.id);
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