过滤MongoDB中的图像集

时间:2013-03-01 17:36:56

标签: c# mongodb mongodb-.net-driver mongodb-query

我已经编写了一些代码来存储MongoDB中的图像文件。现在我想过滤和检索mongoDB中的一些图像。我想过滤掉一些图像名称上有一些字符集的图像。 对于Ex:说我已经在mongoDB中存储了aaaa_DEX.jpg,bbbb_DEX.jpg,cccc_BVX.jpg,dddd_OUI.jpg,eeee_DEX.jpg图像,我希望得到所有名称上都有“DEX”的图像。是否可以使用“查询”构建器?我怎么能这样做?

上传我使用:

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();
}

谢谢

1 个答案:

答案 0 :(得分:1)

执行.find(“ABC”),其中ABC是您的文件名,如果查询完整的文件名,将处理此问题。

如果要查询文件名中的子字符串,我的建议是将子字符串保存为元数据对象的一部分。请参阅this post for an example of working with metadata