O Studio 3T, uma IDE multi-plataforma para o MongoDB, fornece uma interface de usuário com base em SQL para a construção e execução de consultas no MongoDB. O Studio 3T está disponível em diversas versões comerciais, e com vários novos recursos, como os recursos para geração de Query e Query Code, que exigem a versão do Studio 3T Pro.
A capacidade dos usuários consultarem e explorarem os dados diretamente, tem sido uma marca registrada de bancos de dados profissionais. Com o fornecimento de uma ferramenta e uma compreensão básica do SQL, os usuários podem consultar qualquer tipo de dados sem treinamento extensivo para esse produto. A principal exceção a isso são os chamados bancos de dados NoSQL. Com cada banco de dados NoSQL precisando de sua própria sintaxe especializada, os custos de treinamento podem disparar.
O Studio 3T procura resolver esses problemas fornecendo uma interface de usuário com base no SQL. Esta interface de usuário é muito semelhante ao pgAdmin do PostgreSQL e SQL Server Management Studio. O layout padrão tem três painéis com a lista das coleções á esquerda, um editor de SQL no canto superior direito e o painel de resultados no canto inferior direito.
Como muitas ferramentas baseadas em SQL, você pode editar diretamente os registros no Studio 3T. Embora isso possa ser útil para a correção manual de dados, normalmente seria possível definir a ferramenta como "modo somente leitura" ao conectar-se a um banco de dados de produção para reduzir o risco de cometer um erro.
SQL para JavaScript (node.JS), Java, Python e C#
Um recurso exclusivo do Studio 3T é a capacidade de converter SQL em código de uma determinada linguagem. Depois de verificar se a consulta está funcionando, é possível alternar para a guia "Query Code" para ver como ficaria em JavaScript (node.JS), Java, Python ou C#. Além de ser uma ferramenta de treinamento útil, pode-se economizar muito tempo que, de outra forma, seria gasto com teste de integração demorados.
Os desenvolvedores que usam esse recurso também devem aproveitar o suporte "explain query". Como em outros mecanismos de banco de dados, isso fornecerá informações importantes sobre as características de desempenho esperadas na consulta.
Joins para o MongoDB
O Studio 3T adiciona novos recursos com certa frequência e, entre as atualizações mais recentes, está a capacidade de executar inner joins e left joins ao estilo SQL em conjuntos de dados do MongoDB. Esses joins são expressos na linguagem de consulta nativa do MongoDB usando o operador $lookup. Isso cria algumas limitações na implementação do SQL. Embora várias associações sejam suportadas, cada associação pode referenciar apenas as tabelas a esquerda dela. Ou, em outras palavras, right joins não são suportados. Da mesma forma, os full join não podem ser usados.
Outros recursos SQL
O suporte SQL do Studio 3T também inclui:
- Group By, Order By e funções agregadas.
- Limite e deslocamento (ou seja, paginação de dados)
- Wildcards usando LIKE
- Teste se um valor é um membro de um conjunto usando IN
- Teste se um valor está dentro de um intervalo usando BETWEEN
- Acesso dos campos incorporados usando nomes pontilhados.
Este último permite o uso da notação de ponto ao estilo OOP padrão para leitura de campos filho. Por exemplo, para ler um código postal, pode-se usar "address.zip_code". Como muitos mecanismos de banco de dados, os nomes de campos podem estar entre colchetes ou aspas duplas. Aspas simples são usadas para literais de string.