私はGridFSを使ってMongoDBにファイルを保存しています。 JavaScriptシェルからこれらのファイルの一部をIDで削除する必要があります。私はそれのIDを使用して単一のファイルを削除する必要があります。MongoDBはGridFSオブジェクトをシェルから削除します
db.fs.files.remove({_id: my_id});
これはある程度機能しています。ファイルはfs.files
コレクションから削除されますが、チャンク自体はfs.chunks
コレクションから削除されません。私がそれを知っている理由は、RockMongoで前と後の両方のコレクションの長さをチェックするからです。
私はチャンクを通過し、そのファイルを参照しているものを削除できますが、これを行うためのより良い組み込みの方法がありますか?
わかりました。悲しいことに、私は削除したいファイルのIDしか持っていないので、mongofilesを使うことはできません。一致するチャンクを自分で削除することで問題が発生することはありますか? –
シェルでこれを行う必要がありますか?あなたが選んだ言語でドライバに接続してみませんか? db.fs.chunks.remove({files_id:my_id});そして次に 'db.fs.files.remove({_ id:my_id})のようなことをしても問題ありません。 ; ' –
私はシェルからやってほしいと思っていましたが、私はドライバーで言語を使用します。ありがとう! –