sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB eliminar uno ()

En MongoDB el db.collection.deleteOne() El método elimina un solo documento de una colección. En otras palabras, lo elimina.

La collection part es el nombre de la colección de la que se va a eliminar el documento.

Ejemplo

Completemos una colección llamada employees con 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 }
    ])

Ahora usemos db.collection.deleteOne() para eliminar uno de esos documentos.

db.employees.deleteOne({ "_id": 4 })

Resultado:

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

Este número de empleado eliminado 4.

Echemos un vistazo a la colección 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 el empleado número 4 ya no existe en la colección.

Uso de una condición más amplia

En el ejemplo anterior, usamos el _id campo del empleado que queríamos eliminar. Porque el _id El campo es el identificador único de cada documento, esto nos permitió eliminar el documento exacto que queríamos eliminar.

También es posible eliminar un solo documento sin ser tan preciso sobre cuál se elimina. Por ejemplo, puede usar un filtro amplio que devuelva muchos documentos, pero solo elimine el primer documento de esos resultados.

Por ejemplo, podríamos filtrar por empleados que ganan más de 80 000 al año y luego eliminar el primer documento de ese grupo.

db.employees.deleteOne({ "salary": { $gt: 80000 } })

Resultado:

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

En este ejemplo, solo se eliminó un documento, aunque había dos documentos que coincidían con los criterios.

Podemos echar un vistazo a la colección para ver cuál se eliminó.

db.employees.find()

Resultado:

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

Incluso podemos ir un paso más allá y eliminar todos los filtros, lo que significa que elige entre todos los documentos de la colección.

db.employees.deleteOne({})

Resultado:

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

Una vez más podemos comprobar la colección para ver cuál se eliminó.

db.employees.find()

Resultado:

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

Como era de esperar, el primer documento fue eliminado.

Más información

El db.collection.deleteOne() El método también acepta parámetros opcionales como collation , hint y writeConcern .

Consulte la documentación de MongoDB para obtener más información.