2017-10-03 5 views
0

J'utilise le module mongoose et mongoose-gridfs et ne peux pas comprendre comment corriger l'erreur. pouvez ajouter facilement le fichier à mon db et lire:Gridfs supprimer l'erreur de fichier

router.get('/:id', (req, res)=> { 
    if (gridfs == null) { 
     gridfs = require("mongoose-gridfs")({ 
      collection: 'attachments', 
      model: 'Files' 
     }); 
     Attachment = gridfs.model; 
    } 
    let stream = Attachment.readById(req.params["id"]); 
} 

Mais quand je suis en utilisant la même façon route delete:

router.delete('/:id', (req, res)=> { 
    if (gridfs == null) { 
     gridfs = require("mongoose-gridfs")({ 
      collection: 'attachments', 
      model: 'Files' 
     }); 
     Attachment = gridfs.model; 
    } 
    Attachment.unlinkById(req.params["id"], (err) => { 
    }); 
} 

Il me jeter un TypeError d'erreur: Impossible de lire la propriété ' unlink 'de null. Qu'est-ce que je fais de mal?

Répondre

0

Lors de l'initialisation de la variable « GridFS » et exigeant « -GridFS mangouste » Essayez de passer à votre connexion mangouste comme indiqué ci-dessous:

//instantiate mongoose-gridfs 
var gridfs = require('mongoose-gridfs')({ 
    collection:'attachments', 
    model:'Attachment', 
    mongooseConnection: connection 
}); 

Il pourrait également être intéressant d'essayer de se connecter à la valeur de req.params [ "id"] pour vous assurer d'avoir un identifiant là.

Essayez aussi la méthode unlink au lieu de unlinkById comme indiqué ci-dessous:

Attachment.unlink(<objectid>, function(error, unlinkedAttachment){ 
    ... 
});