es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

TypeError: grid.mongo.GridStore no es un constructor cuando intento leer el flujo con Grid.

Estoy utilizando GridFsStorage con multer.
Este es mi código que produce un TypeError.

const mongoURI = DB

const conn = mongoose.createConnection(mongoURI);

let gfs;

conn.once('open', function() {
  //INICIALIZANDO EL STREAM
  gfs = GridFSBucket(conn.db, mongoose.mongo)
  gfs.collection('uploads')
})

gfs.files.findOne({filename:req.params.filename},(err,file)=>{
    const readstream = gfs.createReadStream(file.filename)
    readstream.pipe(res)
  })
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Resolución de problemas de TypeError con GridFsStorage y Multer

    Si está utilizando GridFsStorage con Multer y se encuentra con un TypeError en su código, hay algunos pasos que puede seguir para solucionar el problema.

    1. Verifique que haya instalado ambos paquetes GridFsStorage y Multer en su proyecto.
      npm install multer-gridfs-storage multer --save
      
    2. Verifique que haya importado los paquetes requeridos en su código.
      const mongoose = require('mongoose');
      const GridFsStorage = require('multer-gridfs-storage');
      const Grid = require('gridfs-stream');
      const multer = require('multer');
      
    3. Verifique que su código esté haciendo referencia a las colecciones correctas en su base de datos MongoDB.
      // INICIALIZACIÓN DE STREAM
      const conn = mongoose.createConnection(mongoURI);
      conn.once('open', () => {
      gfs = Grid(conn.db, mongoose.mongo);
      gfs.collection('uploads');
      });
      
    4. Verifique que está utilizando el método correcto para leer archivos desde GridFS.
      gfs.files.findOne({filename:req.params.filename},(err,file)=>{
      const readstream = gfs.createReadStream(file.filename)
      readstream.pipe(res)
      });
      

    Siguiendo estos pasos de resolución de problemas, debería poder identificar y corregir el TypeError en su código y usar con éxito GridFsStorage con Multer.

Comments are closed.