
Schema::getCollection 함수는 컬렉션 이름을 인수로 받아 컬렉션을 반환합니다. 컬렉션이 존재하지 않는 경우, 함수는 null을 반환하지 않고 대신에 MongoDBException 예외를 발생시킵니다.
컬렉션이 존재하는지 확인하는 방법은 다음과 같습니다.
- MongoDB::selectDB() 함수를 사용하여 DB를 선택한 후, MongoDB::selectCollection() 함수를 사용하여 컬렉션을 선택합니다. 컬렉션이 존재하지 않으면 null을 반환합니다.
- MongoDB::listCollections() 함수를 사용하여 DB의 컬렉션 목록을 가져옵니다. 컬렉션이 존재하지 않으면 목록에 포함되지 않습니다.
컬렉션 이름이 중복되는 경우, MongoDB는 컬렉션 이름을 변경하지 않습니다. 컬렉션 이름이 중복되는 경우, MongoDBException 예외가 발생합니다. 컬렉션 이름이 중복되는 경우, 컬렉션 이름을 변경하거나 예외를 발생시키는 기능은 MongoDB에 내장되어 있지 않습니다.
컬렉션 이름을 변경하려면, 컬렉션 이름을 변경한 후, 컬렉션을 다시 생성해야 합니다.
컬렉션 이름이 중복되는 경우, 예외를 발생시키는 방법은 다음과 같습니다.
- try-catch 문을 사용하여 컬렉션을 가져올 때 예외를 캐치합니다.
- 컬렉션 이름이 중복되는 경우, 예외를 발생시키는 함수를 호출합니다.
예를 들어, 다음 코드는 컬렉션 이름이 중복되는 경우, 예외를 발생시키는 함수를 호출합니다.
#hostingforum.kr
php
function getCollections($db, $collectionName) {
try {
$collection = $db->selectCollection($collectionName);
return $collection;
} catch (MongoDBException $e) {
// 컬렉션 이름이 중복되는 경우, 예외를 발생시키는 함수를 호출합니다.
throw new Exception("컬렉션 이름이 중복됩니다.");
}
}
2025-05-17 20:40