Definição
O plugin-in MongoDB para IntelliJ permite que você execute queries escritas em Java diretamente no Playgrounds do Database Explorer.
O ícone Executar aparece ao lado das suas queries do MongoDB .
Comportamento
Quando você clica no ícone Executar, o plugin-in converte automaticamente sua query Java para sintaxe mongosh e abre um arquivo do Playground com a query preenchida.
Para valores de campo que são variáveis determinadas no tempo de execução, o plugin-in cria uma variável de espaço reservado. Você pode preencher este espaço reservado com um valor de teste e executar a query no Playground.
Limitações
O plugin IntelliJ não gera insights no painel lateral para as seguintes queries Java e Spring:
Qualquer query ou agregação que não use um construtor BSON exposto pelo MongoDB Java Driver. Isso inclui partes de queries e aggregations escritas usando os seguintes construtores:
Documentos
BasicDBObjects
BasicDBLists
BasicDBObjectBuilders
Queries que usam métodos de construtor BSON não suportados fornecidos pelo MongoDB Java Driver. Para obter uma lista de métodos do driver Java que podem ser usados para gerar insights pelo plugin-in IntelliJ, consulte Métodos do driver Java para gerar insights.
Consultas que usam métodos não suportados fornecidos pelo Spring Data MongoDB. Para obter uma lista de métodos Spring Data que podem ser usados para gerar insights pelo plugin-in IntelliJ, consulte Métodos Spring Criteria para gerar insights.
Exemplo
Neste exemplo, a query Java na collection production.trips é semelhante a:
public List<Document> findCompletedTripsByDriver(String driverId) { return trips.find(Filters.and( Filters.eq(fieldName: "trip_status", value: "completed"), Filters.eq(fieldName: "driver_id", driverId) )).into(new ArrayList<>()); }
O seguinte exemplo de código mostra a query convertida do código Java acima:
var driver_id = "<driver ID>" db.getSiblingsDB("production") .getCollection("trips") .find({ "$and" : [ { "trip_status" : "completed" }, { "driver_id" : driver_id } ], })
Neste exemplo, driver_id é uma variável que contém um valor determinado no tempo de execução. Para testar se sua query gera os resultados esperados, você deve especificar um valor de teste substituindo <driver ID> pelo ID do driver. Por exemplo, driver_id = "1a2b3c4d5e".
Quando estiver satisfeito com a query, você pode executá-la no Playground e visualizar os resultados da query.