Suelte o elimine una colección en una base de datos MongoDB

Tahseen Tauseef 15 febrero 2024
  1. Colecciones de eliminación de MongoDB
  2. Usa el método soltar()
  3. Utilice el método remove()
  4. Eliminar colecciones en MongoDB
  5. Eliminar colección utilizando el método drop()
  6. Eliminar todos los documentos de la colección utilizando el método remove()
  7. Use la línea de comandos para colocar la base de datos en MongoDB
Suelte o elimine una colección en una base de datos 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.

  1. La función db.collection.drop() y el comando drop generan un evento invalidate para cualquier flujo de cambios abierto en la colección descartada.

  2. El método db.collection.drop() y el comando drop 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.

  3. A partir de MongoDB 4.0.2, al eliminar una colección se eliminan los rangos de zonas/etiquetas conectados.

  4. Desde MongoDB 5.0, el comando drop y el método db.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 un mongos. 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():

  1. consulta: se utiliza un operador de consulta para proporcionar criterios de eliminación. Pasar un documento () vacío, por ejemplo, eliminará todos los documentos de una colección.
  2. justOne: si se establece en true, 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 predeterminado false.
  3. preocupación por escrito: un documento expresa la preocupación por escrito. Omita la preocupació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.

  1. Verdadero
  2. 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.

gota 1

Si desea eliminar una nueva base de datos mydb>, utilice el comando dropDatabase().

gota 2

La lista de verificación de bases de datos.

soltar 3

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 1

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.

quitar 2

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.

dominio

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.