2011-09-20 74 views
5

我寫的MongoDB的GridFS的使用下面的代碼:如何覆蓋MongoDB Gridfs中的文件?

MongoDB.Driver.GridFS.MongoGridFSCreateOptions createOptions = new MongoDB.Driver.GridFS.MongoGridFSCreateOptions(); 
createOptions.ContentType = Helper.GetFileExtensionFromFilename(clientToSave.LogoFilename); 
var gridFsInfo = adminDB.GridFS.Upload(clientToSave.LogoStream, clientToSave.DatabaseName, createOptions); 

當我凝視GridFS的我可以看到,文件似乎被添加,所以我結束了大量的文件具有相同名稱。當我閱讀gridfs時,它總是返回最新的文件,所以它一切正常,但效率相當低。

如何執行一個MongoDB gridfs寫入,覆蓋任何具有相同名稱的正在退出的文件?

回答

5

mongodb不支持這個。 我認爲你可以先刪除同名文件,如:

server[dbName].GridFS.Delete(FileName); 
server[dbName].GridFS.Upload(localName, FileName)