Deleting and Renaming Files
These methods allow you to delete or rename GridFS files.
Deleting a single file
Use the Delete or DeleteAsync methods to delete a single file identified by its Id.
IGridFSBucket bucket;
ObjectId id;
bucket.Delete(id);
await bucket.DeleteAsync(id);
Dropping an entire GridFS bucket
Use the Drop or DropAsync methods to drop an entire GridFS bucket at once.
IGridFSBucket bucket;
bucket.Drop();
await bucket.DropAsync();
Note
The “fs.files” collection will be dropped first, followed by the “fs.chunks” collection. This is the fastest way to delete all files stored in a GridFS bucket at once.Renaming a single file
Use the Rename or RenameAsync methods to rename a single file identified by its Id.
IGridFSBucket bucket;
ObjectId id;
string newFilename;
bucket.Rename(id, newFilename);
await bucket.RenameAsync(id, newFilename);
Renaming all revisions of a file
To rename all revisions of a file you first use the Find or FindAsync method to find all the revisions, and then loop over the revisions and use the Rename or RenameAsync method to rename each revision one at a time.
IGridFSBucket bucket;
string oldFilename;
string newFilename;
var filter = Builders<GridFSFileInfo>.Filter.EQ(x => x.Filename, oldFilename);
var filesCursor = bucket.Find(filter);
var files = filesCursor.ToList();
foreach (var file in files)
{
bucket.Rename(file.Id, newFilename);
}
var filesCursor = await bucket.FindAsync(filter);
var files = await filesCursor.ToListAsync();
foreach (var file in files)
{
await bucket.RenameAsync(file.Id, newFilename);
}
On this page