如何从 GridFS 中的块和文件中删除文件?
Posted
技术标签:
【中文标题】如何从 GridFS 中的块和文件中删除文件?【英文标题】:How to remove a file from both chunks and files in GridFS? 【发布时间】:2017-04-13 10:57:54 【问题描述】:猫鼬
var Grid = require('gridfs-stream');
var mongoose = require('mongoose');
var GridFS = Grid(mongoose.connection.db, mongoose.mongo);
GridFS.collection('backupdata').remove(_id: mongoose.Types.ObjectId(req.file_id), function (err)
console.log("deleted");
);
在这里,我创建了一个用于保存文件的集合(“dbmanager”)。当我尝试从 dbmanager 集合中删除文件时,该文档将从“dbmanager.files”中删除。但文件仍显示在“dbmanager.chunks”中。我需要从“dbmanager.files”和“dbmanager.chunks”中删除这些文件。
【问题讨论】:
【参考方案1】:我最近刚刚使用 gridfs-stream 完成此操作
然后 gfs 驱动程序会为您完成:
gfs.remove(options, function (err)
if (err) return handleError(err);
console.log('success');
);
或
gfs.remove( _id: fileId );
【讨论】:
在他们的 github 代码中:github.com/aheckmann/gridfs-stream/blob/… 它不再有效,我收到 DeprecationWarning: collection.remove is deprecated。请改用 deleteOne、deleteMany 或 bulkWrite。以上是关于如何从 GridFS 中的块和文件中删除文件?的主要内容,如果未能解决你的问题,请参考以下文章
mongodb删除命令:把uploadDate大于当前时间1小时GridFS文件删除掉
如何使用 rtorrent 中的移动/删除文件自动删除种子?