Analisar seu esquema de dados
Nesta página
A aba Schema fornece uma visão geral do tipo de dados e formato dos campos em uma collection específica. Bancos de dados e collection são visíveis na navegação do lado esquerdo.
A visão geral baseia-se em amostragem dos documentos na coleção. A visão geral do esquema pode incluir dados adicionais sobre o conteúdo dos campos, como os valores mínimo e máximo de datas e inteiros, a frequência de ocorrência de valores específicos e a cardinalidade dos dados.
O MongoDB tem um modelo de esquema flexível, logo, alguns campos podem conter tipos diferentes de dados de um documento para o outro. Por exemplo, um campo denominado address
pode conter strings e números inteiros em alguns documentos, objetos em outros, ou alguma combinação de todos os três.
No caso de campos heterogêneos, a aba Schema mostra um detalhamento dos vários tipos de dados contidos dentro do campo com a porcentagem de cada tipo de dados representado.
Exemplo
A aba Schema mostra informações de tamanho sobre a collection test.restaurants
na parte superior, incluindo o número total de documentos na collection, o tamanho médio do documento e o espaço total em disco ocupado pela collection.
Os seguintes campos são mostrados com detalhes:
O campo
_id
é um ObjectId. Cada ObjectId contém um carimbo de data/hora, portanto, o Compass exibe o intervalo de tempos de criação para os documentos de amostra.O campo
address
contém quatro campos aninhados. Você pode expandir o painel do campo para ver análises de cada um dos campos aninhados.O campo
borough
contém uma string indicando o distrito no qual o restaurante está localizado. A cardinalidade é baixa o suficiente para que o Compass possa fornecer uma barra graduada do conteúdo do campo, com a cadeia de caracteres que ocorre com mais frequência à esquerda.O campo
grades
contém arrays de strings. A análise mostra os comprimentos mínimos, máximos e médios da array.
Barra de Query
Utilizando a aba de query na aba Schema , você pode criar um filtro de consulta para limitar seu conjunto de resultados. Clique no botão Options para especificar as opções de query, como os campos específicos a exibir e o número de resultados a retornar.
Observação
Para conjuntos de resultados de consulta maiores que 1000 documentos, o Compass mostra um subconjunto dos resultados. Caso contrário, o Compass mostra todo o conjunto de resultados.
Para obter detalhes sobre amostragem, consulte Amostragem.
Dica
Na aba Schema, você também pode utilizar o Construtor de Query para inserir uma query na barra de query.
Descrições do Campo
Para cada campo, o Compass exibe informações resumidas sobre o tipo de dados ou tipos que o campo contém e o intervalo de valores. Dependendo do tipo de dados e do nível de cardinalidade, o Compass exibe histogramas, barras graduadas, mapas geográficos e dados de amostra para fornecer uma noção da forma e do escopo dos dados contidos em cada campo.
Campo com um tipo de dados único
Abaixo está um exemplo do resumo do tipo de dados para um campo denominado last_login
que contém dados do tipo date
.
Campo com Vários Tipos de Dados
Para campos que contêm vários tipos de dados, o Compass exibe um detalhamento percentual dos vários tipos de dados nos documentos. No exemplo abaixo, o gráfico mostra o conteúdo de um campo chamado phone_no
no qual 81% dos documentos são do tipo string
e os 19% restantes são do tipo number
.
Campo ausente
Se uma collection contiver documentos em que nem todos os campos contiverem um valor, os valores ausentes serão exibidos como undefined
. No exemplo abaixo, o campo age
não tem valor registrado em 40% dos documentos de amostra.
Strings
As strings podem aparecer de três maneiras diferentes. Se houver cadeias de caracteres totalmente exclusivas em um campo, o Compass mostrará uma seleção aleatória de valores de cadeias de caracteres do campo especificado. Clique no ícone de atualização circular para ver um novo conjunto de valores selecionados aleatoriamente a partir do campo.
Se houver apenas alguns valores de string diferentes, o Compass mostrará as strings em uma única barra graduada que mostra a porcentagem da população dos valores da string.
Se houver múltiplos valores de string com algumas duplicatas, o Compass mostrará um histograma indicando a frequência de cada string encontrada no campo.
Observação
Passe o mouse sobre cada barra para exibir uma dica de ferramenta que mostra o valor da string.
Números
Os números são semelhantes às strings em sua representação. Os números exclusivos são mostrados da seguinte maneira:
Os números duplicados são exibidos em um histograma que indica a frequência:
Datas e ObjectIDs
Os campos que representam datas (e os campos que contêm o tipo de dados ObjectID, que inclui um carimbo de data/hora) são mostrados em vários gráficos de barras. Os dois gráficos na linha superior representam o dia da semana e a hora do dia do valor do carimbo de data/hora.
O gráfico único na parte inferior mostra o primeiro e o último valor de registro de data e hora, e as linhas verticais representam a distribuição do registro de data e hora no intervalo do primeiro ao último.
Documentos e arrays incorporados
Os campos que contêm um subdocumento ou um array são exibidos com um pequeno triângulo ao lado deles e uma representação visual dos dados contidos dentro do subdocumento ou array.
Clique no triângulo para expandir o campo e exibir os documentos incorporados:
GeoJSON e [longitude,latitude]
Arrays
Os campos que contêm dados GeoJSON ou arrays do [longitude,latitude]
são exibidos com mapas interativos. Para obter mais informações sobre como interagir com dados de localização no Compass, consulte Analisar dados de localização.
Observação
Os serviços de mapeamento de terceiros não estão disponíveis em Compass Isolated Edition.
Exibir gráficos de tipos mistos
Se um campo tiver tipos mistos, você poderá visualizar diferentes gráficos de cada tipo clicando no campo type
. No exemplo abaixo, o campo age
mostra os valores que são strings:
Clicar no tipo number
faz com que o gráfico mostre seus dados numéricos:
Construtor de Query
Na aba Schema , você pode digitar o filtro manualmente na barra de query ou gerar o filtro com o construtor de consulta do Compass. O construtor de query permite a você selecionar elementos de dados de um ou mais campos em seu esquema e construir uma query que corresponda aos elementos selecionados.
Dica
Você pode compor o filtro de query inicial usando o construtor de queries clicável e, em seguida, editar manualmente o filtro gerado de acordo com seus requisitos exatos.
O procedimento a seguir descreve as etapas envolvidas na criação de uma query complexa com a barra de query.
Analisar Dados de Localização
Na aba Schema, você pode utilizar mapas interativos para filtrar e analisar dados de localização. Se o seu campo contiver dados GeoJSON ou arrays [longitude,latitude]
, a guia Schema exibirá um mapa com os pontos do campo. O tipo de dados para campos de localização é coordinates
.
Aplicar um Filtro de Localização
Você pode aplicar um filtro no mapa para analisar somente uma faixa de apontamentos específica. Para definir um filtro de localização:
Clique no botão Circle no canto superior direito do mapa.
Clique e arraste no mapa para desenhar um círculo contendo a área do mapa que você deseja analisar.
Repita este processo conforme desejado para incluir áreas adicionais do mapa na análise de esquema.
A barra de query atualiza enquanto você desenha filtros de localização para mostrar as coordenadas exatas utilizadas na query $geoWithin aplicada na análise de esquema.
Se você especificar vários filtros de localização, a query se tornará uma query $or com vários operadores $geoWithin
.
Editar um filtro de localização
Para mover ou redimensionar um filtro de localização, clique em no lado direito do mapa. Você entrará no modo de edição de filtro, que se parece com isto:
- Para mover um filtro
- Clique e arraste o quadrado no centro do círculo.
- Para redimensionar um filtro
- Clique e arraste o quadrado na borda do círculo.
Após modificar seus filtros, clique em Save.
Excluir um Filtro de Localização
Para excluir um filtro de localização do mapa:
Clique em no lado direito do mapa.
Clique em:
Um filtro de localização para excluir esse filtro.
Clear All para excluir todos os filtros de localização.
Clique em Save.
Solução de problemas
Se a análise do seu esquema expirar, pode ser porque a coleção que você está analisando é muito grande, fazendo com que o MongoDB pare a operação antes que a análise seja concluída. Aumente o valor de MAX TIME MS
para permitir que o tempo de operação seja concluído.
Para aumentar o valor de MAX TIME MS:
Na barra de query, expanda Options.
Aumente o valor de MAX TIME MS para acomodar sua coleção. MAX TIME MS padroniza para 60000 milissegundos ou 60 segundos, mas grandes coleções podem levar dezenas de segundos para serem analisadas.
Depois de aumentar o valor de MAX TIME MS, tente novamente sua análise de esquema clicando em Analyze.