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

141
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
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