반응형
C# 드라이버를 사용하여 MongoDB에 컬렉션이 있는지 확인하는 방법은 무엇입니까?
C#에서 특정 이름을 가진 컬렉션이 내 MongoDB 데이터베이스에 이미 있는지 확인할 수 있는 방법이 있습니까?
@im1 드라이버 버전 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();
}
@그들의 대답은 정확합니다.여기 동기식 대안이 있습니다.ListCollectionNames
API:
public bool CollectionExists(IMongoDatabase database, string collectionName)
{
var filter = new BsonDocument("name", collectionName);
var options = new ListCollectionNamesOptions { Filter = filter };
return database.ListCollectionNames(options).Any();
}
위의 답변은 맞지만 최신 드라이버(MongoDB)를 사용한 다른 접근 방식이 있습니다.운전자 2.11.6);
public async Task<bool> IsCollectionExistsAsync(string collectionName)
{
MongoClient dbClient = new(_connectionString);
IMongoDatabase database = dbClient.GetDatabase(_databaseName);
IMongoCollection<BsonDocument> mongoCollection = database.GetCollection<BsonDocument>(collectionName);
if (mongoCollection != null)
{
return true;
}
return false;
}
다음과 같이 할 수 있습니다.
database.GetCollection("blah").Exists()
언급URL : https://stackoverflow.com/questions/25017219/how-to-check-if-collection-exists-in-mongodb-using-c-sharp-driver
반응형
'programing' 카테고리의 다른 글
파이썬의 사전 목록에 값이 이미 있는지 확인하시겠습니까? (0) | 2023.06.19 |
---|---|
두 날짜 사이의 근무일만 계산하는 방법은 무엇입니까? (0) | 2023.06.19 |
Gradle 7.2 Java 17 빌드 문제 java.lang.Null 포인터예외: 필드 "바인딩"을 읽을 수 없습니다."currentBindings"가 null이므로 "WhenTrue"가 됩니다. (0) | 2023.06.19 |
C와 C++ 옵티마이저는 일반적으로 어떤 함수가 부작용이 없는지 알고 있습니까? (0) | 2023.06.14 |
IPython 노트북 서버 3에서 함수 인수를 보려면 어떻게 해야 합니까? (0) | 2023.06.14 |