El complemento MongoDB para IntelliJ valida las referencias de la base de datos en su controlador Java o en el código Spring Criteria para garantizar que la base de datos, la colección o el campo especificado existan en el servidor.
Si hace referencia a un nombre de campo, colección o base de datos que no está en su fuente de datos, el complemento muestra una advertencia que indica que la referencia no existe.
Para resolver la advertencia:
Asegúrese de estar conectado a la fuente de datos correcta en la barra de herramientas Conexiones.
Comprueba que estás haciendo referencia a la base de datos y a la colección correctas en tu código.
Verificar que la base de datos o colección contenga el campo al que se intenta hacer referencia.
Nombre de campo inexistente
Si hace referencia a un nombre de campo que no existe en la colección, el complemento IntelliJ genera la siguiente advertencia en el panel lateral debajo Correctness Warnings:
Field <fieldName> does not seem to exist in collection.
Nombre de colección inexistente
Si hace referencia a un nombre de colección que no existe en la base de datos, el complemento IntelliJ genera la siguiente advertencia en el panel lateral debajo de Environment Mismatch Warnings:
Cannot resolve <collectionName> collection in <dbName> database in the connected data source.
Para resolver la advertencia, asegúrese de que la colección referenciada exista en su base de datos. También puede hacer clic en Choose a connection en el panel lateral para seleccionar otra fuente de datos que contenga la colección referenciada.
Non-existent Database Name
Si hace referencia a una base de datos que no existe en la fuente de datos, el complemento IntelliJ genera la siguiente advertencia en el panel lateral debajo de Environment Mismatch Warnings:
Cannot resolve <dbName> database reference in the connected data source.
Para resolver la advertencia, asegúrese de que la base de datos referenciada exista en su implementación. También puede hacer clic en Choose a connection en el panel lateral para seleccionar otra fuente de datos que contenga la base de datos referenciada.
Ejemplo
El siguiente ejemplo hace referencia a sample_mflix base de datos, que contiene datos sobre películas y salas de cine, desde el Conjuntos de datos de muestra del Atlas.
El código de muestra intenta llamar a una colección restaurant_name:
public List<Document> getHundredYearOldMovies() { return client.getDatabase("sample_mflix") .getCollection("restaurant_name") .find(Filters.eq("year", 1924)) .into(new ArrayList<>()); }
Debido a que la colección no existe en la base de datos sample_mflix, el plugin IntelliJ exhibe una advertencia que indica que no se puede resolver la colección:
Cannot resolve "restaurant_name" collection in "sample_mflix" database in the connected data source.``
Para resolver la advertencia, haga referencia a una colección que exista en la base de datos sample_mflix:
public List<Document> getHundredYearOldMovies() { return client.getDatabase("sample_mflix") .getCollection("movies") .find(Filters.eq("year", 1924)) .into(new ArrayList<>()); }