Você pode digitar documentos de filtro do MongoDB na barra de consulta para exibir apenas documentos que correspondam aos critérios especificados. Para saber mais sobre como consultar documentos, consulte Consulte documentos no manual do MongoDB.
Definir filtro de queries
No campo Filter, insira um documento de filtro entre as chaves. Você pode usar todos os operadores de consulta do MongoDB , exceto os operadores
$text
e$expr
.Exemplo
O filtro a seguir retorna documentos com um valor de
title
deJurassic Park
:{ "title": "Jurassic Park" } Clique em Find para executar a consulta e visualizar os resultados atualizados.
clique para ampliar
Exemplos
Os exemplos nesta página utilizam um pequeno conjunto de dados de amostra. Para importar os dados de amostra para a implantação do MongoDB, execute as seguintes etapas:
Copie os seguintes documentos para a área de transferência:
[ { "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ] No Atlas, utilize o dashboard de navegação esquerdo para selecionar o banco de dados e a coleção para a qual deseja importar os dados.
Clique na aba Documents.
Clique em Add Data e selecione Insert Document.
Configure o View para JSON (
{}
).Cole os documentos JSON da área de transferência no modal.
Clique em Insert.
Observação
Se você não tiver uma implantação MongoDB ou se você deseja consultar um conjunto de dados de amostra maior, consulte Dados de amostra para clusters do Atlas para instruções sobre como criar um cluster de camada livre com dados de amostra. As consultas de exemplo a seguir filtram os documentos de amostra fornecidos nesta página.
Correspondência por uma única condição
O seguinte filtro de queries encontra todos os documentos onde o valor de name
é "Andrea Le":
{ name: "Andrea Le" }
A consulta retorna o seguinte documento:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
Correspondência por múltiplas condições ($and)
O seguinte filtro de queries encontra todos os documentos onde a array scores
contém o valor 75
, e o name
é Greg Powell
:
{ $and: [ { scores: 75, name: "Greg Powell" } ] }
A consulta retorna o seguinte documento:
{ "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } }
Correspondência por múltiplas condições possíveis ($or)
O filtro de query a seguir usa o operador $or
para localizar documentos em que version
é 4
ou name
é Andrea Le
:
{ $or: [ { version: 4 }, { name: "Andrea Le" } ] }
A consulta retorna os seguintes documentos:
[ { "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } } ]
Correspondência por exclusão ($not)
O filtro de query a seguir usa o operador $not
para localizar todos os documentos em que o valor do campo name
não é igual a "Andrea Le" ou o campo name
não existe:
{ name: { $not: { $eq: "Andrea Le" } } }
A consulta retorna os seguintes documentos:
[ { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ]
Dica
Para obter uma lista completa de operadores de consulta lógica, consulte Operadores de consulta Lógica.
Correspondência com operadores de comparação
O seguinte filtro de query usa o operador $lte
para localizar todos os documentos nos quais version
seja menor ou igual a 4
:
{ version: { $lte: 4 } }
A consulta retorna os seguintes documentos:
[ { "_id": { "$oid":"5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } }, { "_id": { "$oid":"5a9427648b0beebeb69579cf" }, "name": "Greg Powell", "email": "greg_powell@fake-mail.com", "version": 1, "scores": [ 65, 75, 80 ], "dateCreated": { "$date": "1999-02-10" } } ]
Dica
Para obter uma lista completa de operadores de comparação, consulte Operadores de consulta de comparação.
Correspondência por data
O filtro de consulta a seguir usa o operador $gt
e o método Date()
para localizar todos os documentos em que o valor do campo dateCreated
é posterior a 22 de de junho de 2000:
{ dateCreated: { $gt: new Date('2000-06-22') } }
A consulta retorna os seguintes documentos:
[ { "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }, { "_id": { "$oid": "5e349915cebae490877d561e" }, "email": "no_name@fake-mail.com", "version": 4, "scores": [ 90, 90, 70 ], "dateCreated": { "$date": "2001-04-15" } } ]
Condições de correspondência por array
O seguinte filtro de query utiliza o operador $elemMatch
para localizar todos os documentos onde pelo menos um valor no array scores
é maior que 80
e menor que 90
:
{ scores: { $elemMatch: { $gt: 80, $lt: 90 } } }
A consulta retorna o seguinte documento porque um dos valores na array scores
é 85
:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
Para obter mais exemplos de consulta, consulte Consultar documentos no manual do MongoDB.
Correspondência por substring
O seguinte filtro de query usa o operador $regex
para localizar todos os documentos onde o valor de email
inclui o termo "andrea_le":
{ email: { $regex: "andrea_le" } }
A consulta retorna o seguinte documento:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
Correspondência por campo incorporado
O filtro de consulta a seguir localiza o documento com o subcampo school.name
de "Noroeste":
{ "school.name": "Northwestern" }
A consulta retorna o seguinte documento:
{ "_id": { "$oid": "5e349915cebae490877d561d" }, "name": "Andrea Le", "email": "andrea_le@fake-mail.com", "school": { "name": "Northwestern" }, "version": 5, "scores": [ 85, 95, 75 ], "dateCreated": { "$date": "2003-03-26" } }
Para obter mais exemplos de consulta, consulte Consultar documentos no manual do MongoDB.
Tipos de dados compatíveis na barra de consulta
O Atlas Filter suporta utilizar a representaçãomongosh
dos tipos de dados MongoDB Extended JSON BSON.
Exemplo
O filtro a seguir retorna documentos em que start_date
é maior que o BSON Date
2017-05-01
:
{ "start_date": {$gt: new Date('2017-05-01')} }
Ao especificar o tipo de Date
no start_date
e no operador de comparação $gt
, o Atlas executa a comparação greater
than
cronologicamente, retornando documentos com start_date
posterior a 2017-05-01
.
Sem a especificação de tipo do Date
, o Atlas compara o start_dates
como strings lexicograficamente, ao invés de comparar os valores cronologicamente.
Limpe a consulta
Para limpar a barra de consulta e os resultados da consulta, clique em Reset.
Como a query do Atlas se compara às queries do MongoDB e SQL?
$filter
corresponde à cláusula WHERE
em uma instrução SQL SELECT
.
Exemplo
Você tem 3.235 artigos. Você gostaria de ver todos os artigos que Joe Bloggs escreveu.
- Opção de filtro Atlas
{ author : { $eq : "Joe Bloggs" } } - Agregação do MongoDB
db.article.aggregate( { $match: { "author": "Joe Bloggs" } } ) - SQL
SELECT * FROM article WHERE author = "Joe Bloggs";