首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gridfs删除文件错误

Gridfs删除文件错误
EN

Stack Overflow用户
提问于 2017-10-04 04:27:18
回答 1查看 146关注 0票数 0

我使用的是mongoose和mongoose-gridfs模块,不知道如何修复错误。我可以轻松地将文件添加到我的数据库中并读取它:

代码语言:javascript
运行
复制
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"]);
}

但是当我在delete route中使用相同的方法时:

代码语言:javascript
运行
复制
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) => {
     });
}

抛给我一个错误TypeError:无法读取null属性'unlink‘。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 05:05:44

当初始化变量'gridfs‘并需要' mongoose -gridfs’时,尝试传入您的mongoose连接,如下所示:

代码语言:javascript
运行
复制
//instantiate mongoose-gridfs
var gridfs = require('mongoose-gridfs')({
  collection:'attachments',
  model:'Attachment',
  mongooseConnection: connection
});

可能还值得尝试记录req.params" id“的值,以确保您在其中确实有一个id。

还可以尝试unlink方法,而不是unlinkById,如下所示:

代码语言:javascript
运行
复制
Attachment.unlink(<objectid>, function(error, unlinkedAttachment){
  ...
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46552883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档