Os filtros exibem um subconjunto de resultados que correspondem a um determinado critério. O Atlas Charts fornece duas maneiras de filtrar os dados para um único gráfico. Você pode usar:
Os campos numéricos, de string, de data ou booleanosda guia Filtro atendem à maioria de suas necessidades de filtragem de dados.
A Barra de query para filtrar seus dados usando queries mais complexas, como queries de operador lógico, ou processar dados brutos usando o pipeline de agregação.
Para saber como filtrar resultados em vários gráficos no painel, consulte Filtrar painéis por valores de campo.
Criar filtros para os seus dados
O construtor de gráfico contém uma guia de filtro onde você pode arrastar e soltar campos para especificar filtros para seus dados. Para filtrar dados usando a guia Filtro:
Clique na guia central no construtor de gráficos:
![Imagem mostrando como acessar a guia Filtro]()
Arraste um campo do Fields à esquerda para a seção Chart Filters da guia.
O tipo de dados do campo selecionado determina as opções de filtragem disponíveis. Selecione seu tipo de campo e, se aplicável, seu tipo de filtro de data para visualizar as opções de filtro disponíveis.
Observação
Você não pode usar o mesmo campo em vários filtros.
Habilitar ou desabilitar um filtro
Você pode alternar se um filtro na guia Filter está habilitado ou desabilitado. Filtros desabilitados não afetam os documentos que aparecem no gráfico. Os filtros desativados ficam esmaecidos e não podem ser editados até que estejam habilitados.
Para alternar se um filtro está ativado, passe o mouse sobre um filtro e defina o botão de alternância que aparece na parte superior do filtro para a configuração desejada.

Expandir ou recolher um filtro
Você pode expandir ou recolher cartões de filtro de gráfico clicando em Show ou Hide neste cartão.
Os filtros desativados são recolhidos automaticamente.
Os filtros ativados e recolhidos ainda serão aplicados aos seus gráficos.
Filtre seus dados usando a barra de query
A barra Query acima da exibição do gráfico suporta queries mais complexas do que o painel de filtro. Além disso, você pode usar a barra de query para criar pipelines de agregação para processar seus dados antes que eles sejam renderizados.
Para filtrar dados usando a barra Query:
Na barra Query, insira um documento de filtro. Use a mesma sintaxe usada na parte de consulta do método db.collection.find() . Seu documento de filtro deve estar entre chaves.
Clique em Apply.
Os exemplos seguintes mostram como construir queries com diferentes operadores. Expanda um exemplo para visualizar a query.
O gráfico abaixo mostra os cinco principais países (Limit Results sob o X Axis foi habilitado e definido como 5) em termos do número de diretores que criaram um documentário ou um filme biográfico.

O gráfico usa a seguinte query:
{ $or: [ { genres: "Documentary" }, { genres: "Biography" } ] }
genres é uma matriz onde cada elemento é um gênero de filme. Este filtro garante que apenas os realizadores que
um documentário ou um filme biográfico sejam incluídos na contagem total de diretores de um
país.
O gráfico a seguir mostra a média de classificações de filmes do Metacritic ao longo do tempo, agrupados por períodos de 5 anos.

O gráfico usa a seguinte query:
{ 'writers.1': { $exists: true }}
writers é uma matriz onde cada elemento é um escritor que contribui para o filme. Esse filtro garante que somente documentos com pelo menos dois gravadores sejam considerados na classificação média do Metacritic, verificando a existência do segundo elemento da array.
Utilize o operador de query $regex para filtrar utilizando uma expressão regular :
{ <field>: { $regex: "pattern", $options: "<options>" } }
Por exemplo, para localizar todos os documentos onde o campo jobs começa com a letra A, você escreveria o seguinte na barra Query :
{ "jobs" : { $regex : "^A" } }
Para encontrar todos os documentos onde o campo jobs começa com a letra A ou a, você escreveria o seguinte na barra Query :
{ "jobs" : { $regex : "^A", $options : "i" } }
O gráfico a seguir mostra os valores totais de venda de uma empresa de suprimentos de escritório, categorizados por método de compra:

O gráfico usa a seguinte query:
{ $and: [ { saleDate: { $gte: new Date("2017-01-01") } }, { 'items.4': { $exists: true } } ] }
Cada documento na collection representa uma única venda. items é uma array em que cada elemento é um item comprado durante uma venda.
Esta query restringe os documentos mostrados somente aqueles com um saleDate igual ou mais recente que January 1, 2017 com pelo menos 5 elementos na array items .
Erros de query de endereço
Se sua query for inválida, os gráficos exibirão o ícone na barra Query.
Clique na barra Query se ela ainda não estiver exibida para visualizar os detalhes de erro. O Charts exibe detalhes de erro para:
Erros do lado do cliente, como JSON malformado, e
Erros do lado do servidor, como MQL inválidos.

Analise os detalhes do erro e ajuste sua query de acordo.
Considerações
Os filtros em coleções grandes podem apresentar problemas de desempenho se a coleção não for indexadaadequadamente.
As funções de data usadas na barra de query do Atlas Charts são consistentes e compatíveis com as funções de data usadas no
mongosh. Como resultado, você pode usar:new Date(),ISODate(), ounew ISODate().
A função
Date()(em oposição ao construtornew Date()) retorna a data atual como uma string, então não pode ser utilizado para fazer query das datas em Charts.
