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

Bancos de dados e coleções

Nesta página

  • Visão geral
  • Acessar um banco de dados
  • Acessar uma coleção
  • Criar uma coleção
  • Obter uma lista de coleções
  • Excluir uma coleção
  • Configurar operações de leitura e escrita
  • Documentação da API

Neste guia, você pode aprender como usar bancos de dados e coleções MongoDB com a biblioteca PHP do MongoDB .

O MongoDB organiza os dados em uma hierarquia dos seguintes níveis:

  • Bancos de dados: Estruturas de dados de nível superior em um MongoDB deployment que armazenam collections.

  • Collections: grupos de documentos do MongoDB . Elas são análogas às tabelas do banco de dados relacional.

  • Documentos: unidades que armazenam dados literais, como strings, números, datas e outros documentos incorporados. Para obter mais informações sobre os tipos e estrutura de campo de documento , consulte o guia Documentos no manual do MongoDB Server .

Acesse um banco de dados de dados passando o nome do banco de dados de dados para o método MongoDB\Client::selectDatabase() .

O exemplo a seguir acessa um banco de dados denominado test_database :

$db = $client->selectDatabase('test_database');

Como alternativa, você pode chamar implicitamente o método secreto MongoDB\Client::__get() em um objeto de cliente . Este método permite selecionar um banco de dados de dados usando a sintaxe para acessar uma propriedade de classe . O exemplo seguinte utiliza esta sintaxe abreviada para acessar o banco de banco de dados do test_database :

$db = $client->test_database;

Dica

Para saber mais sobre __get() e os métodos milagésimos do PHP, veja os seguintes recursos:

  • MongoDB\Client::__get() na documentação da API da biblioteca

  • Métodos Mágicos no manual do PHP

Acesse uma collection usando um dos seguintes métodos:

  • MongoDB\Client::selectCollection(): Passe os nomes do banco de dados de dados e da coleção como parâmetros

  • MongoDB\Database::selectCollection(): Passe o nome da coleção como um parâmetro

O exemplo a seguir acessa uma coleção denominada test_collection usando o método MongoDB\Database::selectCollection() :

$collection = $client->test_database->selectCollection('test_collection');

Dica

Se o nome da coleção fornecido ainda não existir no banco de dados, o MongoDB criará implicitamente a coleção quando você inserir os dados pela primeira vez nela.

Como alternativa, você pode chamar implicitamente o método secreto MongoDB\Database::__get() em um objeto de banco de dados de dados. Este método permite a você selecionar uma coleção utilizando a sintaxe para acessar uma propriedade de classe . O exemplo a seguir utiliza esta sintaxe de abreviação para acessar a collection test_collection :

$collection = $db->test_collection;

Para saber mais, consulte a documentação da API do MongoDB\Database::__get() .

Passe um nome de coleção para o método MongoDB\Database::createCollection() para criar explicitamente uma coleção em um banco de banco de dados MongoDB .

O exemplo a seguir cria uma collection chamada example_collection:

$result = $client->test_database->createCollection('example_collection');

Você pode especificar opções de collection, como tamanho máximo e regras de validação de documento , passando-as como uma array para o método createCollection() . Para obter uma lista completa dos parâmetros opcionais, consulte a documentação da API.

Você pode executar query de uma lista de coleções em um banco de dados ligando para o método MongoDB\Database::listCollections() . O método retorna um cursor contendo todas as collections no banco de dados e seus metadados associados.

O exemplo a seguir chama o método listCollections() e itera sobre o iterador retornado para imprimir as coleções dos exemplos Acessar uma coleção e Criar uma coleção :

foreach ($client->test_database->listCollections() as $collectionInfo) {
print_r($collectionInfo) . PHP_EOL;
}

Você pode excluir uma coleção do banco de dados utilizando o método MongoDB\Database::dropCollection() .

O exemplo a seguir exclui a collection test_collection :

$client->test_database->dropCollection('test_collection');

Aviso

Eliminar uma coleção exclui todos os dados da coleção

Descartar uma collection do seu banco de dados exclui permanentemente todos os documentos e todos os índices dessa collection.

Solte uma coleção somente se não precisar mais dos dados nela.

Você pode controlar como as operações de leitura e gravação são executadas em conjuntos de réplicas especificando uma preferência de leitura, preocupação de leitura ou preocupação de gravação.

Por padrão, os bancos de dados herdam configurações de leitura e gravação da instância MongoDB\Client . As coleções herdam essas configurações da instância MongoDB\Client ou MongoDB\Database na qual o método selectCollection() é chamado. Você pode alterar essas configurações passando uma array de opções para os métodos MongoDB\Client::selectDatabase(), MongoDB\Client::selectCollection() ou MongoDB\Database::selectCollection() .

Para saber mais sobre como definir uma preferência de leitura, preocupação de leitura e preocupação de gravação, consulte o guia Especificar como as operações CRUD são executadas em conjuntos de réplicas .

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

Voltar

Stable API