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

195
Visualizações
La llamada api encuentra documentos ya eliminados

Tengo dos puntos finales: uno que elimina el documento del producto y otro que recupera el documento.

Después de eliminar el documento a través de Id, la llamada GET api ya me devuelve el documento, incluso si se eliminó y no está presente en MongoDb.

La respuesta de la llamada DELETE devuelve { deletedCount: 1 }

Aquí el código del producto GET:

 exports.getSingleProduct = (req, res, next) => { let id = req.params.id; Products.findById(id).populate({ path: 'internalColor' }).then(result => { if(result && result.visible == true) { res.status(200).json(result) } else { res.status(404).json({ message: 'product_not_found', id: id }) } }).catch(err => { res.status(404).json({ message: 'error_operation: ' + err, id: id }) }); }

Aquí el código del producto DELETE:

 exports.deleteDefinallySingleProduct = (req, res, next) => { let id = req.params.id; console.log(id) Products.deleteOne({ id: id }).then(result => { if(result) { res.status(200).json({ message: 'deleted_product' }); } }).catch(err => { res.status(404).json({ message: 'error_operation: ' + err }) }) }

Modelo de productos

 const mongoose = require('mongoose'); const Schema = mongoose.Schema; const options = { timestamps: true } const productSchema = new Schema({ name: { type: String, required: true }, description: { type: String, required: true }, price: { type: Number, required: true }, externalUrl: { type: String, required: true }, imgUrl: { type: String, required: true }, brand: { type: String, required: true }, visible: { type: Boolean, required: true } }, options); const Product = mongoose.model('Products', productSchema); module.exports = Product;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Creo que el error al que te enfrentas se debe a un error tipográfico en tu código.

 exports.deleteDefinallySingleProduct = (req, res, next) => { ... Products.deleteOne({ id: id }).then(result => { if(result) { // this code will run always console.log(result) // will show { n: 0, ok: 1, deletedCount: 0 }, // That is, this section of code will run always despite of delete count being 0 or more due to the request to be excecuted successfully. ... }

La implementación correcta está aquí:

 exports.deleteDefinallySingleProduct = (req, res, next) => { ... Products.deleteOne({ _id: id }).then(result => { ... }

Esto se debe a que, de forma predeterminada, mongooose usa _id que representa la identificación del documento, a menos que cree una identificación personalizada en el esquema que no hizo.

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