Após a configuração inicial da extensão, continuaremos explicando como começar
  a usar a biblioteca correspondente no nível do usuário para escrever nosso primeiro projeto.
 
 
  Instalando a Biblioteca do PHP com o Composer
  
   A última coisa que ainda precisamos instalar para começar a usar o aplicativo
   em si é a biblioteca PHP.
  
  
   A biblioteca precisa ser instalada com o
   » Composer, um gerenciador de pacotes
   para PHP. Instruções para instalar o Composer em diversas plataformas podem ser
   encontradas em seu site.
  
  
   Instale a biblioteca executando:
   
$ composer require mongodb/mongodb
 
  
  
   O resultado será algo como:
   
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%
Writing lock file
Generating autoload files
 
  
  
   O Composer criará vários arquivos: composer.json,
   composer.lock e um diretório vendor que
   conterá a biblioteca e quaisquer outras dependências do seu projeto pode exigir.
  
  
 
  Usando a Biblioteca do PHP
  
   Além de gerenciar suas dependências, o Composer também fornecerá
   um carregador automático (para as classes dessas dependências). Certifique-se de que
   ele esteja incluído no início do seu script ou no código de inicialização da sua
   aplicação:
   
<?php
// Este caminho deve apontar para o carregador automático do Composer
require 'vendor/autoload.php';
    
  
  
   Com isto feito, agora você pode usar qualquer funcionalidade descrita na
   » documentação da biblioteca.
  
  
   Se você usou drivers MongoDB em outras linguagens, a API da biblioteca
   deverá parecer familiar. Ele contém uma
   classe » Client
   para conexão com o MongoDB, uma
   classe » Database
   para operações em nível de banco de dados (por exemplo, comandos, gerenciamento de coleção)
   e uma
   classe » Collection
   para operações em nível de coleção (por exemplo,
   métodos » CRUD, gerenciamento de índice).
  
  
   Por exemplo, é assim que você insere um documento na
   coleção beers do banco de dados
   demo:
   
<?php
require 'vendor/autoload.php'; // inclui o auto-carregador do Composer
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;
$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
echo "Inserido com ID do Objeto '{$result->getInsertedId()}'";
?>
    
  
  
   Como o documento inserido não continha um campo _id, a
   extensão irá gerar um MongoDB\BSON\ObjectId para
   o servidor usar como _id. Este valor também é disponibilizado
   ao chamador por meio do objeto de resultado retornado pelo método
   insertOne.
  
  
   Após a inserção, você pode consultar os dados que acabou de inserir.
   Para isso, você usa o método find, que retorna um cursor
   iterável:
   
<?php
require 'vendor/autoload.php'; // inclui o auto-carregador do Composer
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;
$result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
foreach ($result as $entry) {
    echo $entry['_id'], ': ', $entry['name'], "\n";
}
?>
    
  
  
   Embora possa não ser aparente nos exemplos, os documentos e arrays do BSON são
   desserializados como classes especiais na biblioteca por padrão. Essas classes
   estendem ArrayObject para usabilidade e implementam as
   interfaces MongoDB\BSON\Serializable e
   MongoDB\BSON\Unserializable da extensão para
   garantir que os valores preservem seu tipo quando serializados de volta para BSON. Isso
   evita uma ressalva na extensão mongo legada, onde arrays
   podem se transformar em documentos e vice-versa. Consulte a
   especificação Dados Persistentes para obter mais informações sobre
   como os valores são convertidos entre PHP e BSON.