繁体   English   中英

MongoDB C#驱动程序FilterDefinition不起作用

[英]MongoDB c# driver FilterDefinition not working

我试图用Mongo Db和c#实现一个通用存储库,以查询音乐专辑,这是我第一次使用mongodb,所以我可能缺少一些概念。

我的Albun集合包含带有“标题”的文档,并且我正在尝试查询具有特定标题的专辑。我在存储库中使用此方法来查询单个对象:

public async Task<GetOneResult<TEntity>> GetOne<TEntity>(FilterDefinition<TEntity> filter) where TEntity : class, new()
    {
        var res = new GetOneResult<TEntity>();
        try
        {
            var collection = GetCollection<TEntity>();
            var entity = await collection.Find(filter).SingleOrDefaultAsync();
            if (entity != null)
            {
                res.Entity = entity;
            }
            res.Success = true;
            return res;
        }
        catch (Exception ex)
        {
            return res;
        }
    }

我试图通过创建FIlterDefinition来检索相册,如下所示:

_context = new LibaryRepository();
        FilterDefinition<Book> filter = Builders<Book>.Filter.Eq("Title", "Besos de Perro");
        GetOneResult<Book> book = await _context.GetOne<Book>(filter);

我知道MongoDb中有一个带有此标题的专辑,连接已正确建立并连接,但查询始终返回null,因为找不到它。

有什么建议吗?

您是否尝试过同步呼叫查找? (通过删除异步并等待)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM