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

266
Visualizações
countDocuments () no funciona en la llamada api

Estoy tratando de obtener un conteo de productos usando llamadas api pero en cartero sigue cargando

 router.get(`/get/count`, async (req, res) => { const productCount = await Product.countDocuments((count)=>count) if (!productCount) { res.status(500).json({ success: false }); } res.send({ productCount: productCount }); }); (node:28030) UnhandledPromiseRejectionWarning: MongooseError: Query was already executed: Product.countDocuments({})

sin asíncrono y espera tampoco funciona

Trato de detectar el error y obtuve este error en cartero

 { "success": false, "error": "Query was already executed: Product.countDocuments({})" }

código para capturar el error:

 router.get(`/get/count`, (req, res) => { Product.countDocuments((count)=>count).then((pcount)=>{ if(pcount){ return res.status(200).json({success:true}) }else{ return res.status(404).json({success:false}) } }).catch((err)=>{ return res.status(400).json({success:false, error:err.message}) }) });
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Creo que en las operaciones de Mongoose desea await o proporcionar una devolución de llamada, pero no ambas. Intentar hacer ambas cosas hace que se ejecute internamente la consulta dos veces.

Prueba solo:

 const productCount = await Product.countDocuments();
about 4 years ago · Juan Pablo Isaza Relatório

0

Si quieres contar todos los productos de tu colección de productos, prueba esto

 db.product.countDocuments({})
about 4 years ago · Juan Pablo Isaza Relatório

0

router.get(`/get/count`, async(req, res) => { let productCount = await Product.countDocuments(); if(!productCount){ res.send(500).json({success:false}) } res.send({productCount: productCount}) });
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