데이터베이스 참조 유효성 검사
IntelliJ 플러그인용 MongoDB 는 Java 운전자 또는 Spring Criteria(스프링 기준) 코드의 데이터베이스 참조 유효성을 검사하여 지정된 데이터베이스, 컬렉션 또는 필드 가 서버 에 존재하는지 확인합니다.
데이터 소스 에 없는 필드, 컬렉션 또는 데이터베이스 이름을 참조하는 경우 플러그인은 참조가 존재하지 않는다는 경고를 표시합니다.
경고를 해결하려면 다음을 수행합니다.
연결 도구 모음에서 올바른 데이터 소스 에 연결되어 있는지 확인하세요.
코드에서 올바른 데이터베이스 와 컬렉션 을 참조하고 있는지 확인하세요.
데이터베이스 또는 컬렉션 에 참조하려는 필드 가 포함되어 있는지 확인합니다.
존재하지 않는 필드 이름
컬렉션 에 존재하지 않는 필드 이름을 참조하는 경우 IntelliJ 플러그인에서 다음과 같은 경고가 발생합니다.
Field <fieldName> does not exist in collection <collectionName>.
존재하지 않는 컬렉션 이름
데이터베이스 에 존재하지 않는 컬렉션 이름을 참조하는 경우 IntelliJ 플러그인에서 다음과 같은 경고가 발생합니다.
Cannot resolve <collectionName> collection in <dbName> database in the connected data source.
Non-existent Database Name
데이터 소스 에 존재하지 않는 데이터베이스 를 참조하는 경우 IntelliJ 플러그인에서 다음과 같은 경고가 발생합니다.
Cannot resolve <dbName> database reference in the connected data source.
예시
다음 예시 sample_mflix
에서는 Atlas 샘플 데이터 세트의 영화 및 영화관에 대한 데이터가 포함된 데이터베이스 를 참조합니다.
샘플 코드는 restaurant_name
컬렉션 을 호출하려고 시도합니다.
public List<Document> getHundredYearOldMovies() { return client.getDatabase("sample_mflix") .getCollection("restaurant_name") .find(Filters.eq("year", 1924)) .into(new ArrayList<>()); }
컬렉션 이 sample_mflix
데이터베이스 에 존재하지 않기 때문에 IntelliJ 플러그인에서 컬렉션 을 확인할 수 없다는 경고를 표시합니다.
Cannot resolve "restaurant_name" collection in "sample_mflix" database in the connected data source.``
경고를 해결하려면 sample_mflix
데이터베이스 에 있는 컬렉션 을 참조하세요.
public List<Document> getHundredYearOldMovies() { return client.getDatabase("sample_mflix") .getCollection("movies") .find(Filters.eq("year", 1924)) .into(new ArrayList<>()); }