2013-03-01 53 views
0

我寫了一些代碼來存儲圖像文件在MongoDB中。現在我想過濾並從mongoDB中檢索一些圖像。我想過濾出一些在圖像名稱上有一些字符集的圖像。 對於例如說,我已經存儲了mongoDB中的aaaa_DEX.jpg,bbbb_DEX.jpg,cccc_BVX.jpg,dddd_OUI.jpg,eeee_DEX.jpg圖像,並且我想要獲取所有具有「DEX」名稱的圖像。查詢生成器可以嗎?我怎樣才能做到這一點?從MongoDB過濾圖像集

要上傳我使用:

public JsonResult UploadPrimaryImage(string hotelCode) 
{ 
    var db = _hoteldbObj.Instance(); 
    var primaryImageBucket = new MongoGridFS(db, new MongoGridFSSettings() {Root = "HotelPrimaryImage"}); 

    foreach (string httpFile in Request.Files) 
    { 
     var postedFile = Request.Files[httpFile]; 

     if(postedFile == null) 
      throw new InvalidOperationException("Invalid file"); 

     var bytes = ReadToEnd(postedFile.InputStream); 

     using (var c = primaryImageBucket.Create(hotelCode, new MongoGridFSCreateOptions() { ContentType = postedFile.ContentType })) 
     {      
      c.Write(bytes, 0, bytes.Length); 
      c.Flush(); 
      c.Close(); 
     } 
    } 

    return new JsonResult(); 
} 

謝謝

+0

你能否提供樣本文件?你也使用GridFS(http://docs.mongodb.org/manual/applications/gridfs/)來存儲? – 2013-03-01 17:53:09

+0

我已添加使用的代碼來上傳文件。 plz see,Thx – gamini2006 2013-03-01 18:18:34

+1

如果查詢完整的文件名,然後執行.find(「ABC」),其中ABC是您的文件名將執行此操作。如果你想查詢文件名中的子字符串,我的建議是將子字符串保存爲元數據對象的一部分。有關使用元數據的示例,請參閱以下內容:http://stackoverflow.com/questions/10281610/query-on-mongodb-gridfs-metadata-java – 2013-03-01 18:36:59

回答

1

執行.find(「ABC」),其中ABC是,如果查詢的完整文件名的文件名會處理這個問題。

如果您想查詢文件名中的子字符串,我的建議是將子字符串保存爲元數據對象的一部分。見this post for an example of working with metadata