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

Insira documentos

Neste guia, você pode aprender como usar a Biblioteca MongoDB PHP para adicionar documentos a uma coleção MongoDB realizando operações de inserção.

Uma operação de inserção insere um ou mais documentos em uma coleção MongoDB . Você pode executar uma operação de inserção usando os seguintes métodos:

  • MongoDB\Collection::insertOne() método para inserir um único documento

  • MongoDB\Collection::insertMany() método para inserir um ou mais documentos

Os exemplos neste guia usam a collection restaurants no banco de dados sample_restaurants dos conjuntos de banco de dados de amostra do Atlas. Para acessar essa coleção a partir do seu aplicação PHP , instancie um MongoDB\Client que se conecte a um Atlas cluster e atribua o seguinte valor à sua variável $collection :

$collection = $client->sample_restaurants->restaurants;

Para aprender como criar uma implantação gratuita do MongoDB e carregar os conjuntos de dados de amostra, consulte o Guia de introdução do MongoDB.

Em uma coleção MongoDB, cada documento deve conter um campo _id com um valor de campo único.

O MongoDB permite gerenciar este campo de duas maneiras:

  • Defina o campo _id para cada documento por conta própria, garantindo que cada valor seja único.

  • Permita que o acionador gere automaticamente valores de ObjectId únicos para cada campo de documento _id .

A menos que você possa garantir exclusividade, recomendamos deixar o driver gerar automaticamente os valores de _id .

Observação

Os valores duplicados de _id violam restrições de índice único , o que faz com que o driver retorne um erro MongoDB\Driver\Exception\BulkWriteException .

Para saber mais sobre o campo _id, consulte o guia Índices únicos no manual do MongoDB Server .

Para saber mais sobre a estrutura e as regras de documentos, consulte o guia Documentos no manual do MongoDB Server .

Para adicionar um único documento a uma coleção MongoDB, chame o método MongoDB\Collection::insertOne() e passe o documento que você deseja adicionar.

O exemplo a seguir insere um documento na coleção restaurants :

$result = $collection->insertOne(['name' => 'Mongo\'s Burgers']);

Para adicionar vários documentos a uma collection do MongoDB , chame o método MongoDB\Collection::insertMany() e passe uma array que contenha a lista de documentos que você deseja adicionar.

O exemplo a seguir insere dois documentos na collection restaurants :

$restaurants = [
['name' => 'Mongo\'s Burgers'],
['name' => 'Mongo\'s Pizza'],
];
$result = $collection->insertMany($restaurants);

Você pode modificar o comportamento dos métodos MongoDB\Collection::insertOne() e MongoDB\Collection::insertMany() passando uma array que especifique valores de opção como um parâmetro. A tabela a seguir descreve algumas opções que você pode definir na array:

Campo
Descrição

bypassDocumentValidation

Se definido true como, permite que a operação de gravação
desative a validação em nível de documento.false
O padrão é. Tipo: bool

writeConcern

Define a preocupação de gravação para a operação.
O padrão é a preocupação de gravação do namespace.
Tipo: MongoDB\Driver\WriteConcern

ordered

Se true definido como, a operação interrompe a inserção de documentos quando uma inserção falha.false Se, a operação continua inserindo os documentos restantes quando uma inserção falha. Você não pode passar esta opção para o insertOne() método .
O padrão true é.
Tipo: bool

comment

Um comentário a ser anexado à operação. Para obter mais informações, consulte o guia de campos de comando de inserção no manual do MongoDB Server .
Tipo: qualquer tipo de BSON válido

O código a seguir usa o método insertMany() para inserir três novos documentos em uma coleção. Como o campo bypassDocumentValidation está definido como true em uma array de opções, essa operação de inserção ignora a validação em nível de documento:

$docs = [
['name' => 'Mongo\'s Burgers'],
['name' => 'Mongo\'s Pizza'],
['name' => 'Mongo\'s Tacos'],
];
$result = $collection->insertMany($docs, ['bypassDocumentValidation' => true]);

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