Docs Menu
Docs Home
/ /

db.colección.descartar() (método de mongosh)

MongoDB con controladores

Esta página documenta una mongosh . Para ver el método equivalente en un driver de MongoDB, se debe consultar la página correspondiente al lenguaje de programación:

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPRubyRustScala
db.collection.drop(<options>)

Elimina una colección o Vista de la base de datos. El método también elimina los índices asociados a la colección eliminada. El método proporciona una envoltura para el drop comando.

Devuelve:true

Nota

Si la colección especificada no existe, db.collection.drop() aún devuelve true.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El método drop() tiene la siguiente forma:

db.collection.drop( { writeConcern: <document> } )

El método drop() acepta un documento opcional con el siguiente campo:

Campo
Descripción

writeConcern

Opcional. Un documento que expresa el nivel de confirmación de escritura de la operación db.collection.drop(). Omite usar el nivel de confirmación de escritura por defecto.

Cuando se emite en un clúster particionado, mongos convierte el nivel de confirmación de escritura del comando drop y su asistente db.collection.drop() a "majority".

  • El método db.collection.drop() y el comando drop crean un evento de invalidación para cualquier Change Streams abierto en una colección descartada.

  • El método db.collection.drop() y el comando drop abortan cualquier creación de índices en progreso en la colección de destino antes de eliminar la colección.

    Para sets de réplicas o sets de réplicas de fragmentos, abortar un índice en el primario no anula simultáneamente las construcciones de índices secundarios. MongoDB intenta abortar las compilaciones en curso para los índices especificados en el primario y, si es exitoso, crea una entrada de oplog abort asociada. Los miembros secundarios con compilaciones replicadas en progreso esperan una entrada de confirmación o anulación de oplog del primario antes de confirmar o anular la creación de índices.

  • Al descartar una colección, se borran sus rangos de zona/etiqueta asociados.

  • A partir de MongoDB 5.0, el comando drop y el método db.collection.drop() devuelven un error si intentas descartar una colección en la base de datos admin o la base de datos de configuración desde un mongos. Para descartar estas colecciones, conéctate al servidor de configuración y ejecuta el comando allí.

    Advertencia

    Eliminar colecciones en la base de datos admin o en la base de datos de configuración puede dejar su clúster en un estado inutilizable.

  • A partir de MongoDB 6.0, el método db.collection.drop() descarta la colección especificada y cualquier colección interna relacionada con campos cifrados.

    Advertencia

    El comportamiento del método db.collection.drop() difiere del comportamiento del método drop del controlador. La conexión del controlador debe tener el cifrado automático activado para descartar tanto la colección especificada como cualquier colección interna relacionada con los campos cifrados. mongosh siempre descarta la colección especificada y cualquier colección interna relacionada con los campos cifrados.

En un clúster particionado, si crea una colección que tiene el mismo nombre que una colección borrada previamente antes de MongoDB 5.0, mongos puede reenviar operaciones a la partición incorrecta. Para evitar esta situación, utilice las instrucciones específicas de la versión que se indican a continuación:

Para un clúster particionado que ejecuta MongoDB 5.0 o posterior, no se requiere ninguna acción especial. Utilice el método drop() y luego cree una nueva colección con el mismo nombre.

Para un clúster particionado, si utilizas el método drop() y luego creas una nueva colección con el mismo nombre, debes:

Vaciar las tablas de enrutamiento en caché es el procedimiento preferido porque es más rápido que remover colecciones particionadas con db.collection.remove(). Utilice solo el enfoque remove() si quiere evitar vaciar la caché.

db.collection.drop() obtiene un bloqueo exclusivo en la colección especificada por el tiempo que dure la operación. Todas las operaciones posteriores en la colección deben esperar hasta que db.collection.drop() libere el bloqueo.

La siguiente operación descarta la colección students en la base de datos actual.

db.students.drop()

db.collection.drop() acepta un documento de opciones.

La siguiente operación descarta la colección students en la base de datos actual. La operación utiliza el nivel de confirmación de escritura (write concern) de 1:

db.students.drop( { writeConcern: { w: 1, j: true } } )

Volver

db.collection.distinct

En esta página