gpt4 book ai didi

c# - 如何使用 c# 在 mongo DB 驱动程序 2.0 版中使用 IMongoDatabase 接口(interface)实现 "FindOne"和 "EnsureIndex"?

转载 作者:可可西里 更新时间:2023-11-01 09:29:57 27 4
gpt4 key购买 nike

当我使用 FindOne 时,它​​说“'MongoClientExtensions.GetServer(MongoClient)' is obsolete: 'Use the new API instead.' 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));

最佳答案

我希望这对您的 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 函数

How to create indexes in MongoDB via .NET

Building indexes in MongoDB with .NET driver 2.0

关于c# - 如何使用 c# 在 mongo DB 驱动程序 2.0 版中使用 IMongoDatabase 接口(interface)实现 "FindOne"和 "EnsureIndex"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768555/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com