MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB deleteOne()


No MongoDB o db.collection.deleteOne() O método remove um único documento de uma coleção. Em outras palavras, ele o exclui.

A collection parte é o nome da coleção da qual remover o documento.

Exemplo


Vamos preencher uma coleção chamada employees com cinco documentos:
db.employees.insertMany([
    { _id: 1, name: "Sandy", salary: 55000 },
    { _id: 2, name: "Sarah", salary: 128000 },
    { _id: 3, name: "Fritz", salary: 25000 },
    { _id: 4, name: "Chris", salary: 45000 },
    { _id: 5, name: "Beck", salary: 82000 }
    ])

Vamos agora usar db.collection.deleteOne() para excluir um desses documentos.
db.employees.deleteOne({ "_id": 4 })

Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }

Este funcionário excluído número 4.

Vamos dar uma olhada na coleção para verificar.
db.employees.find()

Resultado:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 2, "name" : "Sarah", "salary" : 128000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Podemos ver que o funcionário número 4 não existe mais na coleção.

Usando uma condição mais ampla


No exemplo anterior, usamos o _id campo do funcionário que queríamos excluir. Porque o _id campo é o identificador exclusivo de cada documento, isso nos permitiu excluir o documento exato que queríamos que fosse excluído.

Também é possível excluir um único documento sem ser tão preciso sobre qual deles foi excluído. Por exemplo, você pode usar um filtro amplo que retorne muitos documentos, mas exclua apenas o primeiro documento desses resultados.

Por exemplo, poderíamos filtrar por funcionários que ganham mais de 80.000 por ano e, em seguida, excluir o primeiro documento desse grupo.
db.employees.deleteOne({ "salary": { $gt: 80000 } })

Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }

Neste exemplo, apenas um documento foi excluído, embora houvesse dois documentos que correspondiam aos critérios.

Podemos dar uma olhada na coleção para ver qual foi excluída.
db.employees.find()

Resultado:
{ "_id" : 1, "name" : "Sandy", "salary" : 55000 }
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Podemos até dar um passo adiante e remover todos os filtros, o que significa que ele escolhe entre todos os documentos da coleção.
db.employees.deleteOne({})

Resultado:
{ "acknowledged" : true, "deletedCount" : 1 }

Mais uma vez, podemos verificar a coleção para ver qual foi excluída.
db.employees.find()

Resultado:
{ "_id" : 3, "name" : "Fritz", "salary" : 25000 }
{ "_id" : 5, "name" : "Beck", "salary" : 82000 }

Como esperado, o primeiro documento foi excluído.

Mais informações


O db.collection.deleteOne() O método também aceita parâmetros opcionais como collation , hint e writeConcern .

Consulte a documentação do MongoDB para obter mais informações.