mcl*_*sen 21 c# mongodb mongodb-.net-driver
在C#中是否有任何方法可以检查MongoDB数据库中是否已存在具有特定名称的集合?
Ofi*_*fir 47
@ im1dermike回答不再适用于c#驱动程序版本2.0+
这是一个替代方案:
public async Task<bool> CollectionExistsAsync(string collectionName)
{
var filter = new BsonDocument("name", collectionName);
//filter by collection name
var collections = await GetDatabase().ListCollectionsAsync(new ListCollectionsOptions { Filter = filter });
//check for existence
return await collections.AnyAsync();
}
Run Code Online (Sandbox Code Playgroud)
@Ofir的答案是正确的。这是围绕ListCollectionNamesAPI 构建的同步替代方案:
public bool CollectionExists(IMongoDatabase database, string collectionName)
{
var filter = new BsonDocument("name", collectionName);
var options = new ListCollectionNamesOptions { Filter = filter };
return database.ListCollectionNames(options).Any();
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
database.GetCollection("blah").Exists()
| 归档时间: |
|
| 查看次数: |
15068 次 |
| 最近记录: |