Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP

Ler dados do MongoDB

Nesta página

  • Visão geral
  • Aplicativo de amostra
  • encontrar um
  • Encontrar vários
  • Contagem de documentos em uma coleção
  • Contagem de documentos retornados de uma query
  • Contagem estimada de documentos
  • Retrieve Distinct Values
  • Monitorar alterações de dados

Nesta página, você pode ver exemplos de código copiáveis que mostram métodos comuns da biblioteca PHP para recuperar documentos.

Dica

Para saber mais sobre qualquer um dos métodos mostrados nesta página, consulte o link fornecido em cada seção.

Para usar um exemplo desta página, copie o exemplo de código noaplicação de amostra ou em seu próprio aplicação. Certifique-se de definir a variável de ambiente MONGODB_URI para a string de conexão para sua implantação do MongoDB e substitua os espaços reservados <database> e <collection> por valores para seu espaço de namespace de destino.

Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:

  1. Verifique se a biblioteca PHP do MongoDB está instalada em seu projeto. Para saber mais sobre como instalar a biblioteca PHP do MongoDB , consulte o guia de download e instalação .

  2. Copie o seguinte código e cole-o em um novo arquivo .php .

  3. Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.

1<?php
2
3require __DIR__ . '/../vendor/autoload.php';
4
5$uri = getenv('MONGODB_URI') ?: throw new RuntimeException('Set the MONGODB_URI variable to your Atlas URI that connects to the sample dataset');
6$client = new MongoDB\Client($uri);
7
8$collection = $client->selectCollection('<database>', '<collection>');
9
10// Start example code here
11
12// End example code here

O seguinte código mostra como recuperar um único documento de uma coleção que corresponda aos critérios especificados:

$document = $collection->findOne(['year' => 1994]);
echo json_encode($document), PHP_EOL;

Para saber mais sobre o método findOne() , consulte a seção Encontrar um documento no guia Recuperar dados.

O código a seguir mostra como recuperar todos os documentos de uma coleção que correspondam aos critérios especificados:

$resultsMultiple = $collection->find(['year' => 1970]);
foreach ($resultsMultiple as $doc) {
echo json_encode($doc), PHP_EOL;
}

Para saber mais sobre o método find() , consulte a seção Encontrar vários documentos no guia Recuperar dados.

O seguinte código mostra como contar o número de documentos em uma coleção:

$result = $collection->countDocuments([]);
echo 'Number of documents: ', $result;

Para saber mais sobre o método countDocuments() , consulte a seção Contagem de todos os documentos no guia Contagem de documentos.

O seguinte código mostra como contar documentos em uma coleção que correspondam aos critérios especificados:

$result = $collection->countDocuments(['year' => 2010]);
echo 'Number of companies founded in 2010: ', $result;

Para saber mais sobre o método countDocuments() , consulte a seção Contagem de documentos específicos no guia de Contagem de documentos.

O código a seguir mostra como recuperar uma contagem estimada do número de documentos em uma coleção:

$result = $collection->estimatedDocumentCount();
echo 'Estimated number of documents: ', $result;

Para saber mais sobre o método estimatedDocumentCount() , consulte a seção Recuperar uma contagem estimada no guia Contagem de documentos.

O seguinte código mostra como recuperar os valores exclusivos de um campo para documentos que correspondem aos critérios especificados:

$results = $collection->distinct('year');
foreach ($results as $value) {
echo json_encode($value), PHP_EOL;
}

Para saber mais sobre o método distinct() , consulte o guia Retrieve Distinct Field Values (Recuperar valores de campos distintos).

O seguinte código mostra como monitorar e imprimir alterações em uma coleção:

$changeStream = $collection->watch();
for ($changeStream->rewind(); true; $changeStream->next()) {
if ( ! $changeStream->valid()) {
continue;
}
$event = $changeStream->current();
echo toJSON($event), PHP_EOL;
if ($event['operationType'] === 'invalidate') {
break;
}
}

Para saber mais sobre o método watch() , consulte o guia Monitorar alterações de dados .

Voltar

Coleções de Time Series