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

138
Visualizações
Almacene la imagen en MongoDB usando Gridfs o BSON

Soy nuevo en MongoDB. Me gustaría almacenar imágenes en la base de datos. Sé que hay 2 formas en que puedo hacer para almacenar las imágenes, una es Gridfs, otra es BSON. ¿Cuáles son los pros y los contras de estas dos implementaciones? La única diferencia que conozco es que BSON tiene un límite de tamaño de 16 MB.

Otra cosa que me confunde es cómo usar cualquiera de las formas para implementar el modelo y las API. ¡Cualquier sugerencia será realmente útil!

Tengo un modelo llamado Imagen, que tiene una identificación, una breve descripción y la imagen real. Aquí está el código para mi modelo de imagen.

 const Image = mongoose.model('Image', { imageID: { type: mongoose.SchemaTypes.ObjectId, required: true, }, img: { <What should I put here? > }, description: { type: String, required: false }, })

Y necesito API para manejar la carga de la imagen (almacenar la imagen en la base de datos, obtener la imagen por ID, eliminar la imagen por ID).

Esto es lo que tengo para obtener por ID

 app.get('/api/images/:id', async (req, res) => { const result = Image.find({imageID: req.body.imageID}) if (id) { res.send({result}) } })

¡Siéntase libre de señalar si hay algo mal en mis códigos!

¡Cualquier explicación y ejemplos serían muy útiles! ¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

MongoDB no está diseñado para almacenar imágenes, por supuesto que puede (muy limitado), pero es mejor usar otra solución como Amazon S3 o Google Cloud Storage.

Luego toma la URL de esas imágenes almacenadas y almacena esa URL como un campo en su documento mongo. Lo usas básicamente como un puntero a la imagen.

Si desea usar mongoDB, deberá usar multer un buen video en el que se está Cargando una imagen | Creación de una API REST con Node.js.

Otra vez. Quiero reiterar que el mejor enfoque es usar un tercero para almacenar archivos grandes como imágenes. MongoDB tiene límites de tamaño para sus documentos.

Además, si va a almacenar esta base de datos de forma remota utilizando Atlas, esas imágenes se apoderarán de los límites de su base de datos MUY rápidamente. Tiene un límite de 500 MB cuando usa el clúster gratuito, por lo que, a menos que tenga la intención de pagar, es mejor usar otra cosa.

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