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

Exclua documentos

Neste guia, você pode aprender como excluir documentos de uma coleção MongoDB usando a Integração Laravel. Use as operações de exclusão para remover dados do seu banco de dados MongoDB .

Esta seção fornece exemplos das seguintes operações de exclusão:

As operações deste guia referenciam a seguinte classe de modelo do Eloquent :

Corrigir.php
<?php
namespace App\Models;
use MongoDB\Laravel\Eloquent\Model;
class Concert extends Model
{
protected $connection = 'mongodb';
protected $fillable = ['performer', 'venue', 'genres', 'ticketsSold', 'performanceDate'];
protected $casts = ['performanceDate' => 'datetime'];
}

Dica

O atributo $fillable permite utilizar a atribuição em massa Laravel para inserir operações. Para saber mais sobre atribuição em massa, consulte Personalizar Atribuição de Massa na documentação da Classe de Modelo Eloquent.

O atributo $casts instrui o Laravel a converter atributos em tipos de dados comuns. Para saber mais, consulte Fundiçăo de atributos na documentação do Laravel.

Você pode excluir um documento das seguintes maneiras:

  • Ligue para o método $model->delete() em uma instância do modelo.

  • Métodos de cadeia para recuperar e excluir uma instância de um modelo chamando o método delete() .

  • Ligue para o método Model::destroy($id) no modelo, passando o valor _id do documento a ser excluído.

O exemplo a seguir mostra como excluir um documento chamando $model->delete() em uma instância do modelo:

$concert = Concert::first();
$concert->delete();

Quando o método delete() é bem-sucedido, a operação retorna o número de documentos excluídos.

Se a parte de recuperação da chamada não corresponder a nenhum documento na coleção, a operação retornará 0.

O exemplo a seguir mostra como encadear chamadas para recuperar o primeiro documento correspondente e excluí-lo:

Concert::where('venue', 'Carnegie Hall')
->limit(1)
->delete();

Observação

A chamada orderBy() classifica os resultados pelo campo _id para garantir uma ordem de classificação consistente. Para saber mais sobre classificação no MongoDB, consulte a entrada do glossário de ordem natural no manual do servidor MongoDB.

Quando o método delete() é bem-sucedido, ele retorna o número de documentos excluídos.

Se o método where() não corresponder a nenhum documento, o método delete() retornará 0.

O exemplo a seguir mostra como excluir um documento passando o valor de seu valor _id para o método Model::destroy($id):

$id = 'MSG-0212252000';
Concert::destroy($id);

Quando o método destroy() é bem-sucedido, ele retorna o número de documentos excluídos.

Se o valor _id não corresponder a nenhum documento, o método destroy() retornará 0.

Você pode excluir vários documentos das seguintes maneiras:

  • Chame o método Model::destroy($ids) , passando uma lista das IDs dos documentos ou instâncias de modelo a serem excluídas.

  • Métodos de cadeia para recuperar um objeto de coleção do Laravel que faz referência a vários objetos e excluí-los chamando o método delete() .

O exemplo a seguir mostra como excluir um documento passando uma array de valores _id, representados por $ids, para o método destroy():

$ids = [3, 5, 7, 9];
Concert::destroy($ids);

Dica

O desempenho do método destroy() é prejudicado quando são passadas listas grandes. Para melhor desempenho, use Model::whereIn('id', $ids)->delete() em vez disso.

Quando o método destroy() é bem-sucedido, ele retorna o número de documentos excluídos.

Se os valores de _id não corresponderem a nenhum documento, o método destroy() retornará 0.

O exemplo a seguir mostra como encadear chamadas para recuperar documentos correspondentes e excluí-los:

Concert::where('ticketsSold', '>', 7500)
->delete();

Quando o método delete() é bem-sucedido, ele retorna o número de documentos excluídos.

Se o método where() não corresponder a nenhum documento, o método delete() retornará 0.

As seções a seguir fornecem exemplos de código totalmente executáveis que demonstram como excluir documentos usando a Integração com o Laravel. Estes exemplos utilizam a sample_mflix.movies collection a partir do conjunto de dados de amostra do Atlas .

Dica

Você pode executar os exemplos completos em seu próprio aplicação Laravel ou a partir do my-app aplicação criado no tutorial de Introdução. Os exemplos usam a Movie.php classe de modelo criada neste tutorial para demonstrar operações na movies collection do MongoDB . Para executar a operação, você pode copiar o código de amostra para um endpoint do controlador em seu aplicação Laravel.

Para visualizar a saída esperada da operação, você pode adicionar uma rota web ao seu aplicação que chama a função do controlador e retorna o resultado para uma interface web.

Selecione a partir das seguintes abas Eloquent e Query Builder para visualizar exemplos para cada sintaxe de query correspondente:

Este exemplo executa as seguintes ações:

  • Utiliza o modelo Movie Eloquent para representar a coleção do sample_mflix movies banco de dados do

  • Exclui um documento da collection movies que corresponde a um filtro de query

  • Imprime o número de documentos excluídos

O exemplo chama os seguintes métodos no modelo Movie :

  • where(): corresponde a documentos em que o valor do campo title é "Quiz Show"

  • limit(): recupera somente o primeiro documento correspondente

  • delete(): exclui o documento recuperado

$deleted = Movie::where('title', 'Quiz Show')
->limit(1)
->delete();
echo 'Deleted documents: ' . $deleted;
Deleted documents: 1

Este exemplo executa as seguintes ações:

  • Acessos a coleção movies chamando o método table() a partir da fase DB

  • Exclui um documento da collection movies que corresponde a um filtro de query

  • Imprime o número de documentos excluídos

O exemplo chama os seguintes métodos de construtor de query:

  • where(): corresponde a documentos em que o valor do campo title é "Quiz Show"

  • limit(): recupera somente o primeiro documento correspondente

  • delete(): exclui o documento recuperado

$deleted = DB::table('movies')
->where('title', 'Quiz Show')
->limit(1)
->delete();
echo 'Deleted documents: ' . $deleted;
Deleted documents: 1

Selecione a partir das seguintes abas Eloquent e Query Builder para visualizar exemplos para cada sintaxe de query correspondente:

Este exemplo executa as seguintes ações:

  • Utiliza o modelo Movie Eloquent para representar a coleção do sample_mflix movies banco de dados do

  • Exclui documentos da collection movies que correspondem a um filtro de query

  • Imprime o número de documentos excluídos

O exemplo chama os seguintes métodos no modelo Movie :

  • where(): corresponde a documentos em que o valor do campo year é menor ou igual a 1910

  • delete(): exclui os documentos correspondentes e retorna o número de documentos excluídos com êxito

$deleted = Movie::where('year', '<=', 1910)
->delete();
echo 'Deleted documents: ' . $deleted;
Deleted documents: 7

Este exemplo executa as seguintes ações:

  • Acessos a coleção movies chamando o método table() a partir da fase DB

  • Exclui documentos da collection movies que correspondem a um filtro de query

  • Imprime o número de documentos excluídos

O exemplo chama os seguintes métodos de construtor de query:

  • where(): corresponde a documentos em que o valor do campo year é menor ou igual a 1910

  • delete(): exclui os documentos correspondentes e retorna o número de documentos excluídos com êxito

$deleted = DB::table('movies')
->where('year', '<=', 1910)
->delete();
echo 'Deleted documents: ' . $deleted;
Deleted documents: 7

Para saber mais sobre os recursos do Laravel disponíveis na Integração do Laravel que modificam o comportamento da exclusão, consulte as seguintes seções:

  • Exclusão suave, que permite marcar documentos como excluídos em vez de removê-los do banco de dados

  • Remoção, que permite definir condições que qualificam um documento para exclusão automática

Para saber como inserir documentos em uma coleção MongoDB, consulte o guia Inserir Documentos.