Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Encontrar documentos

Neste guia, você pode aprender como usar o driver Ruby para recuperar dados de uma coleção MongoDB usando operações de leitura. Você pode chamar o método find em uma coleção para recuperar documentos que correspondam a um conjunto de critérios.

The examples in this guide use the companies collection in the sample_training database from the Atlas sample datasets. To access this collection from your Ruby application, create a Mongo::Client object that connects to an Atlas cluster and assign the following values to your database and collection variables:

database = client.use('sample_training')
collection = database[:companies]

Para aprender a criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o Guia de Introdução do MongoDB.

Para recuperar documentos de uma coleção, use o método find. Este método usa um parâmetro de filtro de query e retorna um objeto Mongo::Collection::View, que representa a query. O driver adia a execução da query até que você obtenha os resultados usando métodos como first ou each. Depois de solicitar os resultados, o driver envia a consulta para o servidor e retorna um objeto Mongo::Cursor do qual você pode acessar os resultados.

Você pode encadear métodos de opção ao método find para refinar os resultados da operação.

Dica

Para saber mais sobre filtros de query, consulte o guia Especificar uma query .

Para encontrar vários documentos em uma coleção, passe um filtro de queries para o método find que especifica os critérios dos documentos que você deseja recuperar.

O exemplo a seguir usa o método find para localizar todos os documentos nos quais o campo founded_year tem o valor 1970:

results = collection.find(founded_year: 1970)

Quando você chama o método each no objeto Mongo::Collection::View que representa a consulta, o driver retorna um objeto Mongo::Cursor . Um cursor é um mecanismo que permite que um aplicação itere sobre os resultados do banco de dados enquanto mantém apenas um subconjunto deles na memória em determinado momento. Os cursores são úteis quando o método find retorna uma grande quantidade de documentos.

O código a seguir chama o método each para iterar nos resultados da query:

results.each do |doc|
puts doc
end

Observação

Localizar todos os documentos

Para localizar todos os documentos em uma coleção, chame o método find sem passar um filtro de query:

results = collection.find

Para localizar um único documento em uma coleção, chame o método find e passe um filtro de query que especifique os critérios do documento que você deseja localizar. Em seguida, encadeie o método first a find.

Se o filtro de query corresponder a mais de um documento, o método first recuperará o primeiro documento correspondente dos resultados da operação.

O exemplo a seguir encadeia o método first a find para localizar o primeiro documento no qual o campo name tem o valor 'LinkedIn':

document = collection.find(name: 'LinkedIn').first
puts document

Dica

Ordem de classificação

O método first retorna o primeiro documento em ordem natural no disco se nenhum critério de classificação for especificado.

Você pode encadear métodos de opção ao método find para modificar os resultados da operação. A tabela a seguir descreve algumas dessas opções:

Opção
Descrição

batch_size

O número de documentos a serem devolvidos por lote. O valor padrão é 101.
Tipo: Integer

collation

O agrupamento a ser usado para a operação. O valor padrão é o agrupamento especificado para a coleção.
Tipo: Hash

comment

O comentário a ser anexado à operação.
Tipo: Object

limit

O número máximo de documentos que a operação pode retornar.
Tipo: Integer

skip

O número de documentos a ignorar antes de retornar os resultados.
Tipo: Integer

sort

A ordem na qual a operação retorna documentos correspondentes.
Tipo: Hash

O exemplo a seguir usa o método find para localizar todos os documentos nos quais o campo number_of_employees tem o valor 1000. O exemplo utiliza a opção limit para retornar um máximo de 2 resultados:

limit_results = collection.find(number_of_employees: 1000).limit(2)
limit_results.each do |doc|
puts doc
end

For a full list of options, see the API documentation for the find method.

Para saber mais sobre filtros de query, consulte o guia Especificar uma query .

Para exibir exemplos de código que recuperam documentos usando o driver Ruby, consulte Documentos de query.

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: