我试图用Mongo Db和c#实现一个通用的存储库,来查询音乐albuns的集合,这是我第一次使用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,因为它没有找到它。
有什么建议吗?
答案 0 :(得分:0)
您是否尝试同步调用find? (通过删除异步和等待)