我正在尝试使用节点服务器中的GridFS删除/删除上传到mongo db的文件(在mongoose的帮助下)。一切看起来不错,并且文件名从collection.files中删除。但是我仍然可以看到blob数据保存在collections.chunks中。请在下面找到删除代码。
router.js
var mongoose = require('mongoose')
var GridFsStorage = require('multer-gridfs-storage');
var Grid = require('gridfs-stream');
Grid.mongo = mongoose.mongo;
var gfs = Grid(mongoConnection.db, mongoose.mongo);
gfs.collection('uploads');
...........
...........
router.post("/deleteBlobDocument", validate, function (req, res) {
gfs.findOne({ filename: req.body.name, root: 'uploads' }, function (err, file) {
if (err || !file) {
res.status(500).send({ "error": 'File Not Found.' });
} else {
gfs.files.remove({_id: file._id, root: 'uploads'}, function (err) {
if (err) res.status(500).send({ "error": 'Unexpected error occured.' });
res.send({ "message": "success" });
});
}
});
})
这有什么问题?如何从mongodb中删除该文件的所有相关事件数据。