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

144
Vistas
obteniendo 400 solicitudes incorrectas al publicar datos, pero los datos se guardan en la base de datos

TAREA DE CÓDIGO: PARA GUARDAR DATOS DE USUARIO EN DB COMO ESTAMOS REGISTRANDO EL NUEVO USUARIO EN LA APLICACIÓN.

PROBLEMA: LOS DATOS SE ESTÁN GUARDANDO PERO OBTENIENDO "400 SOLICITUD INCORRECTA" Y ERROR EN LA CONSOLA

ERROR: "No se puede guardar () el mismo documento varias veces en paralelo"

CÓDIGO (GENERAR TOKEN JWT Y GUARDAR EN LA BASE DE DATOS)

 userSchema.methods.generateAuthToken=async function(){ const user=this; // console.log(user); const token=jwt.sign({_id:user._id.toString()},'helloworld'); user.tokens=user.tokens.concat({token}); await user.save(); return token; }

CÓDIGO (ARCHIVO ENRUTADOR)

 router.post('/users',async(req,res)=>{ const user=new User(req.body); const token=user.generateAuthToken(); try{ await user.save(); res.status(201).send({user,token}); } catch(err){ console.log(err); res.status(400).send(err); } // console.log(req.body); })

El problema ocurre cuando agrego la línea "const token" y "res.status(201).send({user,token});"

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

0

Su error es bastante obvio. Solo tienes que leer los mensajes de error:

ERROR: "No se puede guardar () el mismo documento varias veces en paralelo"

La cuestión es que user.generateAuthToken() es una tarea asíncrona que incluye await user.save()

Tienes que esperarlo también:

 const token = await user.generateAuthToken();

Tal vez elimine uno de los user.save() . Supongo que no es la mejor idea guardar al usuario dos veces por solicitud.

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