如何从 GridFS 中的块和文件中删除文件?

How to remove a file from both chunks and files in GridFS?

猫鼬

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" 中删除该文档。

我最近刚用 gridfs-stream

做了这个

然后 gfs 驱动程序会为您完成:

gfs.remove(options, function (err) {
  if (err) return handleError(err);
  console.log('success');
});

gfs.remove({ _id: fileId });