如何从 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 });
猫鼬
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 });