|
In the 2.x driver API you would use the new GridFS API to get the metadata:
ObjectId fileId = ...;
|
var fileInfoFilter = Builders<GridFSFileInfo<ObjectId>>.Filter.Eq(f => f.Id, fileId);
|
var fileInfo = bucket.Find(fileInfoFilter ).SingleOrDefault(); // could return null if file is not found
|
var metadata = fileInfo.Metadata; // metadata is a BsonDocument
|
After you have modified the metadata BsonDocument in your code you can update it in the database using the CRUD API:
var filesCollection = database.GetCollection<BsonDocument>(bucket.Options.BucketName + ".files");
|
var filesCollectionFilter = Builders<BsonDocument>.Filter.Eq("_id", fileId);
|
var update = Builders<BsonDocument>.Update.Set("metadata", metadata);
|
filesCollection.UpdateOne(filesCollectionFilter, update);
|
|