gpt4 book ai didi

c# - 如何知道集合是否存在 Mongodb C# 版本 2 或更早版本

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:05 26 4
gpt4 key购买 nike

我正在尝试将一些代码更新到新版本的 C# Mongodb 驱动程序,版本 2 或更高版本,但似乎 CollectionExists() 方法已被弃用,它曾经在旧版本,但不再是。我如何知道新驱动程序是否已经存在一个集合?

public static IMongoCollection<T> GetCollectionSafe<T>(string collectionName)
{
var db = GetDatabase();
if (!db.CollectionExists(collectionName)) //throws error
{
db.CreateCollection(collectionName);
}
return db.GetCollection<T>(collectionName);
}

GetDatabase() 属于 IMongoDatabase 类型。我只想知道是否存在具有特定名称的集合。

最佳答案

您可以通过以下代码检查集合是否存在

public async Task<bool> CheckCollection(IMongoDatabase database, string collectionName)
{
var filter = new BsonDocument("name", collectionName);
var collectionCursor = await database.ListCollectionsAsync(new ListCollectionsOptions {Filter = filter});
return await collectionCursor.AnyAsync();
}

附言方法 GetCollection 可以安全使用。您不需要检查集合是否存在。这是由司机自己完成的。

关于c# - 如何知道集合是否存在 Mongodb C# 版本 2 或更早版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40848452/

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