IntelliJ 플러그인용 MongoDB Java 운전자 또는 Spring Criteria(스프링 기준) 코드의 데이터베이스 참조 유효성을 검사하여 지정된 데이터베이스, 컬렉션 또는 필드 서버 에 존재하는지 확인합니다.
데이터 소스 에 없는 필드, 컬렉션 또는 데이터베이스 이름을 참조하는 경우 플러그인은 참조가 존재하지 않는다는 경고를 표시합니다.
경고를 해결하려면 다음을 수행합니다.
연결 도구 모음에서 올바른 데이터 소스 에 연결되어 있는지 확인하세요.
코드에서 올바른 데이터베이스 와 컬렉션 참조하고 있는지 확인하세요.
데이터베이스 또는 컬렉션 참조하려는 필드 포함되어 있는지 확인합니다.
존재하지 않는 필드 이름
컬렉션 에 존재하지 않는 필드 이름을 참조하는 경우 IntelliJ 플러그인은 측면 패널의 Correctness Warnings 아래에 다음과 같은 경고를 표시합니다.
Field <fieldName> does not seem to exist in collection.
존재하지 않는 컬렉션 이름
데이터베이스 에 존재하지 않는 컬렉션 이름을 참조하는 경우 IntelliJ 플러그인은 측면 패널의 Environment Mismatch Warnings 아래에 다음과 같은 경고를 표시합니다.
Cannot resolve <collectionName> collection in <dbName> database in the connected data source.
경고를 해결하려면 참조된 컬렉션 이 데이터베이스 에 있는지 확인하세요. 또는 측면 패널에서 Choose a connection 를 클릭하여 참조된 컬렉션 포함된 다른 데이터 소스 선택할 수 있습니다.
Non-existent Database Name
데이터 소스 에 존재하지 않는 데이터베이스 참조하는 경우 IntelliJ 플러그인은 측면 패널의 Environment Mismatch Warnings 아래에 다음과 같은 경고를 표시합니다.
Cannot resolve <dbName> database reference in the connected data source.
경고를 해결하려면 참조된 데이터베이스 배포서버 에 있는지 확인합니다. 또는 측면 패널에서 Choose a connection 를 클릭하여 참조된 데이터베이스 포함된 다른 데이터 소스 선택할 수 있습니다.
예시
다음 예시 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<>()); }