Consultar documentos
Nesta página
- Selecione todos os documentos de uma coleção
- Especifique uma condição de igualdade
- Especifique condições usando operadores de consulta
- Especifique condições
AND
- Especifique condições
OR
- Especifique condições
AND
e tambémOR
- Fazer consulta de documentos com o MongoDB Atlas
- Tutoriais de consultas adicionais
- Comportamento
- Métodos e opções adicionais
Você pode consultar documentos no MongoDB usando os seguintes métodos:
O driver da sua linguagem de programação.
A UI do MongoDB Atlas. Para saber mais, consulte Fazer queries de documentos com o MongoDB Atlas.
➤ Use o menu suspenso Selecione a linguagem no canto superior direito para definir a linguagem dos exemplos a seguir ou selecione MongoDB Compass.
Selecione todos os documentos de uma coleção
Esta operação usa um predicado de filtro de {}
, que corresponde à seguinte instrução SQL:
SELECT * FROM inventory
Especifique uma condição de igualdade
O exemplo a seguir seleciona da coleção inventory
todos os documentos em que o status
é igual a "D"
:
Esta operação usa um predicado de filtro { status: "D" }
, que corresponde à seguinte instrução SQL:
SELECT * FROM inventory WHERE status = "D"
Especifique condições usando operadores de consulta
O exemplo seguinte recupera todos os documentos da coleção inventory
onde status
é igual a "A"
ou "D"
:
Observação
A operação usa um predicado de filtro de { status: { $in: [ "A", "D" ] } }
, que corresponde à seguinte instrução SQL:
SELECT * FROM inventory WHERE status in ("A", "D")
Consulte o documento Operadores de consulta e projeção para obter a lista completa de operadores de consulta MongoDB.
Especifique as condições AND
Uma consulta composta pode especificar condições para mais de um campo nos documentos da coleção. Implicitamente, uma conjunção lógica do AND
conecta as cláusulas de uma consulta composta para que a consulta selecione os documentos na coleção que correspondem a todas as condições.
O exemplo a seguir recupera todos os documentos na coleção inventory
onde o status
é igual a "A"
e qty
é menor que ($lt
) 30
:
A operação usa um predicado de filtro de { status: "A", qty: { $lt: 30 } }
, que corresponde à seguinte instrução SQL:
SELECT * FROM inventory WHERE status = "A" AND qty < 30
Consulte Operadores de comparação para outros operadores de comparação do MongoDB.
Especifique as condições OR
Usando o operador $or
, você pode especificar uma consulta composta que une cada cláusula com uma conjunção lógica OR
para que a consulta selecione os documentos na coleção que correspondem a pelo menos uma condição.
O exemplo a seguir recupera todos os documentos na coleção em que o status
é igual a "A"
ou qty
é menor que ($lt
) 30
:
A operação usa um predicado de filtro de { $or: [ { status: 'A' }, { qty: { $lt: 30 } } ] }
, que corresponde à seguinte instrução SQL:
SELECT * FROM inventory WHERE status = "A" OR qty < 30
Observação
As consultas que usam operadores de comparação estão sujeitas a Type Bracketing.
Especifique as condições AND
e OR
No exemplo a seguir, a consulta composta seleciona todos os documentos na coleção em que o status
é igual a "A"
e qty
é menor que ($lt
) 30
ou item
começa com o caractere p
:
A operação utiliza um predicado de filtro de:
{ status: 'A', $or: [ { qty: { $lt: 30 } }, { item: { $regex: '^p' } } ] }
que corresponde à seguinte declaração SQL:
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")
Observação
O MongoDB suporta expressões regulares de consulta $regex
para executar combinações de padrões de string.
Fazer consulta de documentos com o MongoDB Atlas
O exemplo nesta seção utiliza o conjunto de dados de filmes de amostra. Para saber como carregar o conjunto de dados de amostra em sua implantação do MongoDB Atlas, consulte Carregar Dados de Amostra.
Para projetar campos para retornar de uma consulta no MongoDB Atlas, siga estas etapas:
Navegue até a coleção
Na interface do usuário do Atlas MongoDB, clique em Database na barra lateral.
Para a implantação do banco de dados que contém os dados de amostra, clique em Browse Collections.
No painel de navegação esquerdo, selecione o banco de dados
sample_mflix
.Selecione a collection
movies
.
Especifique o campo Filter
Especifique o documento de filtro de consulta no campo Filter. Um documento de filtro de consulta usa operadores de consulta para especificar as condições de pesquisa.
Copie o seguinte documento de filtro de consulta para a barra de pesquisa Filter:
{ year: 1924 }
Tutoriais de consultas adicionais
Para exemplos de consulta adicionais, consulte:
Comportamento
Cursor
Isolamento de leitura
Para leituras de conjuntos de réplicas e fragmentos de conjuntos de réplicas, a preocupação de leitura permite que os clientes escolham um nível de isolamento para suas leituras. Para obter mais informações, consulte Preocupação de leitura.
Formato do resultado da consulta
Ao executar uma operação find com um driver MongoDB ou mongosh
, o comando retorna um cursor que gerencia os resultados da consulta. Os resultados da consulta não retornam como um array de documentos.
Para saber como iterar documentos em um cursor, consulte a documentação do motorista. Se você estiver usando mongosh
, consulte Iterar um cursor no mongosh
.