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

170
Visualizações
MongooseError: la consulta ya se ejecutó: Todo.updateOne({ _id: new ObjectId("612df063a8f

Actualicé mongoose a la última versión (6.0.2) y ahora recibo este error y aplasto la aplicación cada vez que se ejecuta .updateOne() . Pero la actualización del objeto dentro de la base de datos. Mi código:

 async(req,res) => { await Todo.updateOne( {_id : req.params.id}, { $set : { status : "inactive" } }, (updateError) => { // if updateError exist if (updateError) { // print error printError(updateError); // response the error res.status(500).json({ error : "There was a Server Side Error!" }); } else { // if error dose not exist // print message console.log("|===> 🗂️ Data Was Updated successfully! 🗂️ <====|\n"); // response success res.json({ message : "Todo Was Update successfully!" }); } }); }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Intenta agregar .clone() a la función updateOne

 async(req,res) => { await Todo.updateOne( {_id : req.params.id}, { $set : { status : "inactive" } }, (updateError) => { // if updateError exist if (updateError) { // print error printError(updateError); // response the error res.status(500).json({ error : "There was a Server Side Error!" }); } else { // if error dose not exist // print message console.log("|===> 🗂️ Data Was Updated successfully! 🗂️ <====|\n"); // response success res.json({ message : "Todo Was Update successfully!" }); } }).clone(); }

La última versión de mongoose no duplica la ejecución

https://mongoosejs.com/docs/migrating_to_6.html#duplicate-query-execution

about 4 years ago · Juan Pablo Isaza Relatório

0

Dado que está utilizando sintaxis async , coloque su código en el bloque try/catch :

 async (req, res) => { try { await Todo.updateOne({ _id: req.params.id }, { $set: { status: "inactive"}}); res.status(200).json({message: "Todo Was Update successfully!"}); } catch (error) { res.status(500).json({error:'There was a Server Side Error!'}) } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Su async/await debería verse así:

 async (req,res) => { try { const result = await Todo.updateOne( {_id : req.params.id}, { $set : { status : "inactive" } }, ); } console.log('success', result) res.json({message: "Todo Was Update successfully!", result }) } catch (err) { console.log('error', err) res.status(500).json({error:'There was a Server Side Error!'}) } }

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