Suelte o elimine una colección en una base de datos MongoDB
- Colecciones de eliminación de MongoDB
-
Usa el método
soltar()
-
Utilice el método
remove()
- Eliminar colecciones en MongoDB
-
Eliminar colección utilizando el método
drop()
-
Eliminar todos los documentos de la colección utilizando el método
remove()
- Use la línea de comandos para colocar la base de datos en MongoDB
En este artículo, se discutirá en detalle el problema de eliminar colecciones en MongoDB, y se explicarán los diferentes métodos utilizados en MongoDB para eliminar colecciones con sus consultas.
Colecciones de eliminación de MongoDB
MongoDB elimina la colección de dos maneras; el resultado será “true” o “false” después de ejecutar el comando “soltar” en el servidor de base de datos MongoDB. El resultado será true
si la colección existe en la base de datos y se eliminará con éxito.
Si la colección no existe en la base de datos y no se puede eliminar adecuadamente, el resultado será false
.
Utilice los métodos drop
y remove
para eliminar una colección de MongoDB. Al desinstalar una colección, también debe especificar el nombre de la colección.
Usa el método soltar()
Para eliminar una colección de una base de datos MongoDB, use la función db.collection.drop()
. Elimina una colección de la base de datos y elimina los índices asociados.
-
La función
db.collection.drop()
y el comandodrop
generan un eventoinvalidate
para cualquier flujo de cambios abierto en la colección descartada. -
El método
db.collection.drop()
y el comandodrop
detienen la creación de un índice en curso en la colección de destino antes de descartarla. Intentar volcar una colección con compilaciones de índice en curso anteriores a MongoDB 4.4 da como resultado un error, pero la colección no se elimina.Anular una compilación de índice principal no cancela las compilaciones de índice secundario para conjuntos de réplicas o conjuntos de réplicas de fragmentos. En su lugar, MongoDB intenta detener las compilaciones en curso para los índices especificados en el primario y, si tiene éxito, produce un elemento de cancelación
oplog
.Los miembros secundarios con compilaciones en curso replicadas esperan a que el principal confirme o cancele el elemento
oplog
antes de confirmar o cancelar la compilación del índice. -
A partir de MongoDB 4.0.2, al eliminar una colección se eliminan los rangos de zonas/etiquetas conectados.
-
Desde MongoDB 5.0, el comando
drop
y el métododb.collection.drop()
devolverán un error si intenta eliminar una colección en la base de datos de administración o en la base de datos de configuración desde unmongos
. En su lugar, conéctese al servidor de configuración y ejecute el comando para eliminar estas colecciones.
Sintaxis:
db.collection_database.drop()
La base de datos de la colección se especifica como el nombre de la colección en la sintaxis anterior, que se usa para eliminarla del servidor de la base de datos.
Utilice el método remove()
Para eliminar documentos de una colección, utilice la función db.collection.remove()
.
Sintaxis:
db.collection_database.remove ({})
La base de datos de la colección se define en la sintaxis anterior como la ubicación de la que deben eliminarse los documentos. Por lo tanto, si proporciona el método remove
con un conjunto de resultados vacío ()
, borrará todos los registros de la colección.
db.collection_name.remove (<query>, {Writeconcern, justone})
El parámetro consulta
se define como la capacidad de eliminar elementos individuales de una colección en función de los parámetros de la consulta.
Solo hay un parámetro definido y elimina un documento de la colección. Debe habilitarse configurando la palabra clave en true
.
Solo se elimina un registro después de utilizar la palabra clave true
en el criterio de selección. Si no utilizó la palabra clave true
en nuestros criterios de selección, eliminaría todos los artículos de la colección.
Cuando se usa Writepreocupación
, se omite el uso predeterminado de escribir preocupación
.
Parámetros del método remove()
:
consulta
: se utiliza un operador deconsulta
para proporcionar criterios de eliminación. Pasar undocumento ()
vacío, por ejemplo, eliminará todos los documentos de una colección.justOne
: si se establece entrue
, la eliminación se limitará a un solo documento. Elimine todos los documentos que coincidan con el criterio de eliminación sin utilizar el valor predeterminadofalse
.preocupación por escrito
: un documento expresa la preocupación por escrito. Omita lapreocupación de escritura
predeterminada.
Eliminar colecciones en MongoDB
Si desea eliminar toda la colección y sus índices, puede usar el método soltar
para eliminar cualquier colección de la base de datos, incluidos sus índices. El enfoque de soltar
eliminará la colección y sus índices del servidor de la base de datos.
Usando el enfoque de eliminar
, puede eliminar ciertos documentos de la colección. El método eliminar
elimina todos los documentos de la colección, pero los índices permanecen en el servidor de la base de datos y no se eliminan.
Se mostrarán dos conjuntos de resultados después de la eliminación de una colección del servidor de la base de datos.
- Verdadero
- Falso
La siguiente consulta demuestra que el conjunto de resultados mostrará el valor “true” cuando se elimine una colección del servidor de la base de datos. Por ejemplo, el resultado de la consulta a continuación es “true”.
El conjunto de resultados mostrará “true” porque el servidor de la base de datos ha eliminado la colección.
show collections
db.test1.drop()
show collections
El resultado de la consulta anterior es false
. El resultado en el conjunto de resultados será “false” ya que la colección no se eliminó del servidor de la base de datos o no existe en la base de datos.
Primero debe conectarse a la base de datos en cuestión antes de eliminar una colección de ella. La colección no se borrará si no se ha conectado o visitado la base de datos especificada.
La consulta a continuación demuestra cómo utilizar la base de datos especificada antes de eliminar la colección de la base de datos.
db.col_stat.drop()
use test
db.col_stat.drop()
show collections
Ahora, las consultas de ejemplo de los métodos remove
y drop
se analizan a continuación.
Eliminar colección utilizando el método drop()
Primero, use el comando show dbs
para ver una lista de bases de datos accesibles.
Si desea eliminar una nueva base de datos mydb>
, utilice el comando dropDatabase()
.
La lista de verificación de bases de datos.
Eliminar todos los documentos de la colección utilizando el método remove()
Considere los siguientes datos del conjunto de datos mycol
.
{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}
El siguiente ejemplo eliminará todos los registros con MongoDB Overview
.
Eliminar solo uno
Si hay varios registros y desea eliminar el primero, use la opción solo uno
en la función remove()
.
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
Eliminar todos los documentos
MongoDB eliminará documentos completos de la colección si no hay criterios de eliminación especificados. Esta es la contraparte del comando SQL truncar
.
No se mostrará nada después de db.mycol.find()
ya que todos los datos se eliminan de las bases de datos.
Use la línea de comandos para colocar la base de datos en MongoDB
La forma más sencilla de eliminar su base de datos Mongo es ejecutar el comando de shell mongo
desde la línea de comandos, junto con los indicadores y parámetros relevantes para decirle al shell mongo
que desea eliminar una base de datos.
El comando de shell mongo
, en su forma más básica, puede usarse para conectarse a una base de datos específica al instante. En este ejemplo, se utiliza para conectarse a la base de datos librería
desde el indicador bash de nuestro servidor.
$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore
En lugar de conectarse a nuestra base de datos librería
y ejecutar comandos desde el shell mongo
, puede proporcionar el indicador eval
seguido del código JavaScript que desea que MongoDB ejecute. Nuestra base de datos puede usar fácilmente volcados en una línea.
Desea descartar la base de datos en este escenario; por lo tanto, utilizará la función db.dropDatabase()
para destruir la base de datos a la que está conectado. Si bien no es obligatorio, envolverá este método con la función printjson
para garantizar que la salida de este comando tenga sentido y sea comprensible.
No necesita heredocs
o eval
, mongo
puede actuar como intérprete.
var db = new Mongo().getDB('someDatabase');
db.dropDatabase();
Este artículo explica cómo utilizar el método soltar
; puede eliminar la colección y sus índices y usar el método eliminar
; puede eliminar uno o todos los documentos de la colección.
Si la colección existe en la base de datos, el conjunto de resultados mostrará el resultado como “true”, mostrando una salida “falsa”. Además, se explica cómo soltar o eliminar una colección en MongoDB usando la línea de comando.