c#mongo FindOne很慢

时间:2016-08-26 08:28:54

标签: c# mongodb performance

有时,FindOne花费的时间超过一秒=> “_keywordRepo.GetKeyword 1034 ms”。这是生产代码的例子。

以下是DAL的代码:KeywordRepository:

public async Task<Keyword> GetKeyword(string keywordName)
{
    return await MongoClientWrapper.FindOne<Keyword>(k => k.KeywordName == keywordName).ConfigureAwait(false);
}

MongoClientWrapper:

public static async Task<T> FindOne<T>(Expression<Func<T, bool>> memberExpression, FindOptions<T> findOptions = null)
{
    var coll = GetCollection<T>();
    if (findOptions == null)
        findOptions = new FindOptions<T>();

    findOptions.Limit = 1;
    IAsyncCursor<T> task = await coll.FindAsync(memberExpression, findOptions).ConfigureAwait(false);
    return await task.FirstOrDefaultAsync().ConfigureAwait(false);
}

mongo中确实存在“KeywordName”的索引。 有什么不对吗?

0 个答案:

没有答案