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

241
Vistas
Mongoose 'La consulta ya se ejecutó' error

Como su nombre lo indica, sigo recibiendo un mensaje "La consulta ya se ejecutó" mientras ejecuto las consultas Mongoose.find. El uso de '.clone' no parece solucionar el problema...

Mi código de llamada es:

 let result = mongo.isValidUsername(req.body.username).then((data) => { return data; }); if ((await result) == false) { res.send("Sorry, that username is unavailable"); } else { mongo .addUser( req.body.username, req.body.password, req.body.firstName, req.body.lastName, req.body.email, req.body.phoneNumber ) .then(() => { let profileData = mongo.getProfileData(req.body.username); profileData .then((data) => { res.render("accountDisplay", { results: data, trans: [9.99], }); }) .catch((err) => { console.log(err); }); }); }

Llamo a una consulta dos veces: una vez en isValidUsername () al principio (donde no he usado .clone) y luego nuevamente en getProfileData (donde HE usado .clone).

Sigo recibiendo este error. ¿Alguna idea de qué podría estar causándolo?

Aquí está el código para isValidUsername() y getProfileData(), por si acaso...

 async function isValidUsername(usernameToQuery) { //connect to mongoose database mongoose.connect("mongodb://localhost:27017/bankDB"); try { let isValid = UserModel.findOne({ username: usernameToQuery }).then( (data) => { if (data == null) { return true; } else { return false; } } ); return await isValid; } catch (err) { return err; } } async function getProfileData(usernameToQuery) { mongoose.connect("mongodb://localhost:27017/bankDB"); let profileData = UserModel.findOne({ username: usernameToQuery }).clone(); console.log(await profileData); let profileArray = await profileData.then((data) => { return [ data._doc.firstName, data._doc.lastName, data._doc.email, data._doc.phoneNumber, ]; }); return await profileArray; }

about 4 years ago · Juan Pablo Isaza
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