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

Gravar dados no MongoDB

Nesta página

  • Visão geral
  • Aplicativo de amostra
  • insertOne
  • Inserir vários
  • UpdateOne
  • Atualizar vários
  • replaceOne
  • Excluir um
  • Excluir vários
  • Gravação em massa
  • Armazenar arquivos grandes

Nesta página, você pode ver exemplos de código copiáveis que mostram métodos comuns da biblioteca PHP do MongoDB para gravar dados no MongoDB.

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 de sua implantação do MongoDB e substitua os espaços reservados <database> e <collection> por valores para seu 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 dedownload 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 código a seguir mostra como inserir um único documento em uma coleção:

$result = $collection->insertOne([
'<field name 1>' => '<value 1>',
'<field name 2>' => '<value 2>',
]);

Para saber mais sobre o método MongoDB\Collection::insertOne() , consulte o guia Inserir documentos .

O seguinte código mostra como inserir vários documentos em uma coleção:

$result = $collection->insertMany(
[
'<field name 1>' => '<value 1>',
'<field name 2>' => '<value 2>',
],
[
'<field name 1>' => '<value 1>',
'<field name 2>' => '<value 2>',
],
);

Para saber mais sobre o método MongoDB\Collection::insertMany() , consulte o guia Inserir documentos .

O código abaixo mostra como atualizar um único documento em uma collection criando ou editando um campo:

$result = $collection->updateOne(
['<field to match>' => '<value to match>'],
['$set' => ['<field name>' => '<value>']],
);

Para saber mais sobre o método MongoDB\Collection::updateOne() , consulte o guia Atualizar documentos .

O seguinte código mostra como atualizar vários documentos em uma collection criando ou editando um campo:

$result = $collection->updateMany(
['<field to match>' => '<value to match>'],
['$set' => ['<field name>' => '<value>']],
);

Para saber mais sobre o método MongoDB\Collection::updateMany() , consulte o guia Atualizar documentos .

O código a seguir mostra como substituir um único documento em uma coleção por outro documento:

$result = $collection->replaceOne(
['<field to match>' => '<value to match>'],
[
'<new field 1>' => '<value 1>',
'<new field 2>' => '<value 2>',
],
);

Para saber mais sobre o método MongoDB\Collection::replaceOne() , consulte o guia Substituir documentos .

O código a seguir mostra como excluir um único documento em uma collection:

$result = $collection->deleteOne(['<field name>' => '<value>']);

Para saber mais sobre o método MongoDB\Collection::deleteOne() , consulte o guia Excluir documentos .

O seguinte código mostra como excluir vários documentos em uma coleção:

$result = $collection->deleteMany(['<field name>' => '<value>']);

Para saber mais sobre o método MongoDB\Collection::deleteMany() , consulte o guia Excluir documentos .

O seguinte código mostra como executar múltiplas operações de gravação em uma única operação em massa:

$result = $collection->bulkWrite(
[
[
'insertOne' => [
['<field name>' => '<value>'],
],
],
[
'replaceOne' => [
['<field to match>' => '<value to match>'],
[
'<first new field>' => '<value>',
'<second new field>' => '<value>',
],
],
],
[
'updateOne' => [
['<field to match>' => '<value to match>'],
['$set' => ['<field to update>' => '<value to update>']],
],
],
[
'updateMany' => [
['<field to match>' => '<value to match>'],
['$set' => ['<field to update>' => '<value to update>']],
],
],
[
'deleteOne' => [
['<field name>' => '<value>'],
],
],
[
'deleteMany' => [
['<field name>' => '<value>'],
],
],
]
);

Para saber mais sobre o método MongoDB\Collection::bulkWrite() , consulte o guia de escrita em massa .

O seguinte código mostra como armazenar arquivos em um bucket GridFS criando um fluxo de upload:

$bucket = $client->selectDatabase('<database name>')->selectGridFSBucket();
$stream = $bucket->openUploadStream('<file name>');
fwrite($stream, '<data>');
fclose($stream);

Para saber mais sobre o GridFS, consulte o guia Armazenar arquivos grandes .

Voltar

Monitorar alterações de dados