Funções Count() e Remove() em MongoDB com exemplo

⚡ Resumo Inteligente

Funções Count() e Remove() em MongoDB O método `count()` retorna o número total de documentos em uma coleção e remove documentos dela. Ele também pode ser usado para descrever a quantidade de documentos em uma coleção ou apenas aqueles que correspondem a uma condição específica.

  • 🔢 Contagem de documentos: O método count() retorna o número de documentos em uma coleção que correspondem a uma consulta.
  • 🎯 Contagem com filtro: Ao passar uma condição para a função count(), são retornados apenas os documentos que a satisfazem.
  • 🗑️ Remover documentos: O método remove() exclui documentos, sejam todos eles ou aqueles que correspondem a um objeto de critérios.
  • ☝️ Remova um: A opção justOne limita a função remove() a excluir um único documento correspondente, em vez de todos os documentos correspondentes.
  • 🔄 Métodos Modernos: countDocuments() e deleteMany() são os substitutos atuais para count() e remove(), que estão obsoletos.
  • 🖨️ Verificar saída: Cada comando retorna um resultado mostrando a contagem ou o número de documentos removidos.

Funções Count() e Remove() em MongoDB

MongoDB Função Contar()

O conceito de agregação é realizar um cálculo sobre os resultados que são retornados em uma consulta. Por exemplo, suponha que você queira saber qual é a contagem de documentos em uma coleção de acordo com a consulta disparada, então MongoDB fornece a função count().

Exemplo de MongoDB Função Contar()

Vejamos um exemplo disso.

db.Employee.count()

Code Explicação:

  • O código acima executa a função de contagem.

Se o comando for executado com sucesso, a seguinte saída será mostrada

Saída:

Exemplo de MongoDB Função Contar()

A saída mostra claramente que existem 4 documentos na coleção.

MongoDB Contagem com uma condição de consulta

O método `count()` é mais útil quando você passa uma condição de consulta, pois ele conta apenas os documentos que correspondem à condição, em vez de toda a coleção. Isso é útil para relatórios, como quantos funcionários pertencem a um departamento ou quantos pedidos ainda estão em aberto.

O exemplo a seguir contabiliza os funcionários cujo ID do funcionário é maior que 2:

db.Employee.count({Employeeid:{$gt:2}})

Aqui está o que acontece:

  • O objeto de consulta {Employeeid:{$gt:2}} atua como um filtro, usando o operador $gt (maior que).
  • A função count() retorna apenas o número de documentos que satisfazem o filtro.
  • O restante da coleção é ignorado no total.

Na atual MongoDB Para versões, o método recomendado para contagem condicional é o countDocuments(), pois sempre retorna um resultado preciso. A mesma consulta funciona com ele:

db.Employee.countDocuments({Employeeid:{$gt:2}})

Ambos os comandos retornam um único número, que você pode armazenar em uma variável ou exibir diretamente. Adicionar um índice correspondente no campo consultado mantém as contagens condicionais rápidas em coleções grandes.

Executando Modificações

As outras duas classes de operações em MongoDB são as instruções update e remove.

As operações de atualização permitem modificar os dados existentes, e as operações de remoção permitem a exclusão de dados de uma coleção.

Função Remove() em MongoDB

In MongoDB, db.coleção.remove() método é usado para remover documentos de uma coleção. Todos os documentos podem ser retirados de uma coleção ou apenas aqueles que atendam a uma condição específica.

Se você apenas emitir o comando remove, todos os documentos serão removidos da coleção.

Exemplo de MongoDB Função Remover()

O exemplo de código a seguir demonstra como remover um documento específico da coleção.

db.Employee.remove({Employeeid:22})

Code Explicação:

  • O código acima utiliza a função remover e especifica o critério que neste caso é remover os documentos que possuem o ID do Funcionário como 22.

Se o comando for executado com sucesso, a seguinte saída será mostrada

Saída:

Exemplo de MongoDB Função Remover()

O resultado mostrará que 1 documento foi removido.

Remover todos os documentos versus remover um único documento

O método remove() pode excluir todos os documentos correspondentes ou apenas um, dependendo dos argumentos fornecidos. Compreender essa diferença evita a perda acidental de dados.

Para remover todos os documentos de uma coleção, passe uma condição vazia:

db.Employee.remove({})

Isso exclui todos os documentos, mas mantém a coleção em si. Para remover apenas os documentos que correspondem a uma condição, passe um objeto de consulta, como mostrado anteriormente com {Employeeid:22}. Se vários documentos corresponderem e você quiser excluir apenas o primeiro, adicione a opção justOne:

db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})

As principais diferenças são:

  • remove({}) exclui todos os documentos da coleção.
  • remove({condição}) exclui todos os documentos que correspondem à condição.
  • remove({condition}, {justOne:true}) exclui apenas o primeiro documento correspondente.

Sempre verifique as condições antes de executar um comando de remoção, pois um filtro vazio ou incorreto pode apagar toda a coleção. Em sistemas modernos MongoDBdeleteOne() e deleteMany() substituem esses padrões e tornam a intenção mais clara.

Alternativas modernas para count() e remove()

Tanto count() quanto remove() são métodos legados. Mais recentes. MongoDB Os drivers marcam esses métodos como obsoletos e fornecem alternativas mais claras. A tabela abaixo mapeia cada método antigo para seu equivalente moderno:

Método Legado Substituição Moderna Propósito
contagem() contarDocumentos() Retorna uma contagem precisa de documentos correspondentes.
contagem() contagemdedocumentosestimada() Retorna uma contagem rápida e aproximada de todos os documentos.
retirar() deletarUm() Exclui o primeiro documento que corresponde ao filtro.
retirar() excluirMuitos() Exclui todos os documentos que correspondem ao filtro.

Para novas aplicações, prefira estes métodos modernos. Eles separam a contagem da estimativa e a exclusão de um documento da exclusão de vários, o que torna as consultas mais seguras e fáceis de ler. As funções `count()` e `remove()` legadas ainda funcionam para tutoriais e scripts mais antigos.

Perguntas Frequentes

A função `remove()` exclui documentos, mas mantém a coleção e seus índices. A função `drop()` exclui toda a coleção, incluindo todos os documentos e índices. Use `remove()` para remover dados e `drop()` para descartar a coleção completamente.

Não. O método `remove()` apenas exclui documentos dentro da coleção. A coleção, seus índices e sua configuração permanecem intactos, portanto, você pode inserir novos documentos na mesma coleção posteriormente sem precisar recriá-la.

A função `count()` legada pode retornar um valor aproximado em clusters fragmentados após operações com falha. Para um total exato, use `countDocuments()`, que realiza uma agregação; use `estimatedDocumentCount()` quando a velocidade for mais importante que a precisão.

A IA pode traduzir uma solicitação simples na contagem correta ou na consulta de exclusão com o filtro adequado e avisá-lo quando um comando de remoção afetaria todos os documentos. Sempre revise antes de executar.

Sim. A IA pode analisar um comando de remoção ou exclusão de vários itens, sinalizar a ausência de um filtro que apagaria toda a coleção e sugerir a adição de uma condição ou a realização de um backup antes de executá-lo.

Resuma esta postagem com: