2017-05-01 11 views
0
var GridFS = Grid(mongoose.connection.db, mongoose.mongo); 
GridFS.remove({_id: mongoose.Types.ObjectId(req.params.file_id)}, function (err) { 
    if (!err) { 
     return res.send(204); 
    } else { 
     console.log("error"); 
    } 
}); 

上記のコードを使用してfs.filesコレクションから文書を削除できます。しかし、それはfs.chunksコレクションからの恋愛ではありません。 fs.filesとfs.chunksの両方のコレクションから文書を削除する方法GRIDFSを使用してmongoDBのfs.chunksから文書を削除する方法

答えて

0

gridfs-streamモジュールは、ネイティブのGridStore unlinkメソッドの助けを借りてファイルとチャンクの両方を削除します。
http://mongodb.github.io/node-mongodb-native/api-generated/gridstore.html#gridstore-unlink

モジュールsource codeを完全に確認したい場合は、それを確認できます。

私はここであなたの問題は何かを必要としない間にいくつかの特別なMongooseスキーマタイプ(mongoose.Types.ObjectId)を渡そうとしていると思います。

ちょうどあなたのGridFSにこのようなremove機能ファイル_id(またはファイル名)を渡します。またからマングースremove方法を使用して、私が今日行わ同じ過ちをしないようにしてください

GridFS.remove({ _id: req.params.file_id }, (err) => { 
    if (err) console.log(err) 
    res.sendStatus(204) 
}) 

をカスタムファイルスキーマ。 論理的には、私はちょっと後に気づいたように、ファイルを削除しますが、チャンクは削除しません。

関連する問題