0

我已经编写了一些代码来在 MongoDB 中存储图像文件。现在我想从 mongoDB 中过滤和检索一些图像。我想过滤掉一些图像名称上有一些字符集的图像。例如:假设我在 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();
}

谢谢你

4

1 回答 1

1

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

如果您想查询文件名中的子字符串,我的建议是将子字符串保存为元数据对象的一部分。有关使用元数据的示例,请参阅这篇文章。

于 2013-03-04T14:15:55.477 回答