当我使用FindOne时,它说''MongoClientExtensions.GetServer(MongoClient)'已经过时了:'改用新的API'。 Observer.Client“作为警告。
这是我的代码
collection.EnsureIndex(IndexKeys.Ascending("Username", "Type"), IndexOptions.SetUnique(true));
var userlog = collection.FindOne(Query<UserLog>.Where(ul => ul.Username == username && ul.Type == type));
答案 0 :(得分:3)
我希望这可以为您的FindOne功能提供帮助
public async static Task<TModel> FindOne<TModel>(this IMongoCollection<TModel> collection, FilterDefinition<TModel> filter)
{
FindOptions<TModel> options = new FindOptions<TModel> { Limit = 1 };
IAsyncCursor<TModel> task = await collection.FindAsync(filter, options);
List<TModel> list = await task.ToListAsync();
TModel result = list.FirstOrDefault();
return result;
}
或
public static T FindOne<T>(this IMongoCollection<T> collection, IMongoQuery query)
{
return collection.Find(query.ToBsonDocument()).FirstOrDefault();
}
您可以将这些链接用于EnsureIndex功能
答案 1 :(得分:1)
我对FindOne问题一无所知,因为我不擅长C#。 但对于EnsureIndex:这不是一个好用的方法。
最后可以this issue帮助你