O plugin-in MongoDB para IntelliJ valida as referências do banco de dados em seu driver Java ou código Spring Criteria para garantir que o banco de dados, coleção ou campo especificado exista no servidor.
Se você fizer referência a um nome de campo, coleção ou banco de dados que não esteja em sua fonte de dados, o plugin-in mostrará um aviso indicando que a referência não existe.
Para resolver o aviso:
Verifique se você está conectado à fonte de dados correta na barra de ferramentas Conexões.
Verifique se você está referenciando o banco de dados e a coleção corretos em seu código.
Verifique se seu banco de dados ou collection contém o campo ao qual você está tentando fazer referência.
Nome de campo inexistente
Se você fizer referência a um nome de campo que não existe na coleção, o plugin-in IntelliJ emitirá o seguinte aviso no painel lateral em Correctness Warnings:
Field <fieldName> does not seem to exist in collection.
Nome da coleção inexistente
Se você fizer referência a um nome de coleção que não existe no banco de dados, o plugin-in IntelliJ emitirá o seguinte aviso no painel lateral em Environment Mismatch Warnings:
Cannot resolve <collectionName> collection in <dbName> database in the connected data source.
Para resolver o aviso, verifique se a coleção referenciada existe no seu banco de dados. Como alternativa, você pode clicar em Choose a connection no painel lateral para selecionar uma fonte de dados diferente que contenha a coleção referenciada.
Non-existent Database Name
Se você fizer referência a um banco de dados que não existe na fonte de dados, o plugin-in IntelliJ emitirá o seguinte aviso no painel lateral em Environment Mismatch Warnings:
Cannot resolve <dbName> database reference in the connected data source.
Para resolver o aviso, certifique-se de que o banco de dados referenciado exista em seu sistema. Como alternativa, você pode clicar em Choose a connection no painel lateral para selecionar uma fonte de dados diferente que contenha o banco de dados referenciado.
Exemplo
O exemplo a seguir faz referência ao sample_mflix
banco de dados , que contém dados sobre filmes e cinemas, a partir dos conjuntos de dados de amostra do Atlas .
O código de exemplo tenta chamar uma coleção restaurant_name
:
public List<Document> getHundredYearOldMovies() { return client.getDatabase("sample_mflix") .getCollection("restaurant_name") .find(Filters.eq("year", 1924)) .into(new ArrayList<>()); }
Como a coleção não existe no banco de dados sample_mflix
, o plugin-in IntelliJ gera um aviso de que a coleção não pode ser resolvida:
Cannot resolve "restaurant_name" collection in "sample_mflix" database in the connected data source.``
Para resolver o aviso, faça referência a uma coleção que existe no banco de dados sample_mflix
:
public List<Document> getHundredYearOldMovies() { return client.getDatabase("sample_mflix") .getCollection("movies") .find(Filters.eq("year", 1924)) .into(new ArrayList<>()); }