gpt4 book ai didi

c# - MongoDB MongoClient.GetServer() 已弃用。什么是新 API?

转载 作者:行者123 更新时间:2023-12-04 00:12:06 30 4
gpt4 key购买 nike

这是我的数据库连接字符串:

private static string ConnectionString = "mongodb://user:password@server:port/";
private static string AuthSource = "?authSource=location";

public static MongoCollection<ItemEntity> GetMyItemCollectionDB = new MongoClient(ConnectionString + DBName + AuthSource)
.GetServer().GetDatabase(DBName).GetCollection<ItemEntity>(CollectionName);

我听说您可以删除 getserver 方法:

public static MongoCollection<ItemEntity> GetMyItemCollectionDB = new MongoClient(ConnectionString + DBName + AuthSource)
.GetDatabase(DBName)
.GetCollection<ItemEntity>(CollectionName) as MongoCollection<ItemEntity>;

但为此,我得到了一个“空对象”错误。有什么问题?

编辑:如果使用新 API 不是那么重要,请告诉我。

最佳答案

为了获取 MongoServer 实例,我反编译了程序集 MongoDB.Driver.dll,函数 GetServer 是

[Obsolete("Use the new API instead.")]
public static MongoServer GetServer(this MongoClient client)
{
return
MongoServer.Create(MongoServerSettings.FromClientSettings(client.Settings));
}

所以你可以试试下面的代码

MongoClient client = new MongoClient(ConnectionString + DBName + AuthSource);
MongoServer server = new MongoServer(MongoServerSettings.FromClientSettings(client.Settings));
var yourCollection = server.GetDatabase(DBName).GetCollection<ItemEntity>(CollectionName);

2.0.0+版本有4种方式

MongoDB.Driver.MongoServer.Create(MongoServerSettings)
MongoDB.Driver.MongoServer.WithReadConcern(ReadConcern)
MongoDB.Driver.MongoServer.WithReadPreference(ReadPreference)
MongoDB.Driver.MongoServer.WithWriteConcern(WriteConcern)

关于c# - MongoDB MongoClient.GetServer() 已弃用。什么是新 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346391/

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