HOWTO · MongoDB

Colección truncada de MongoDB

Este artículo enseña cómo truncar una colección en MongoDB.

En esta página

Una colección no es más que una carpeta con todos los documentos. Hay un límite en la cantidad de registros que puede agregar a las colecciones cuando utiliza colecciones limitadas.

Un documento puede tener un tamaño máximo de 16MB. Ocasionalmente, desea crear una nueva colección y eliminar documentos de la actual.

Puede seleccionar una de las dos opciones para truncar la colección a continuación según sus necesidades. En el artículo de hoy, aprenderemos cómo truncar una colección en MongoDB.

Truncar una colección en MongoDB

Podemos usar drop() o remove() según los requisitos de nuestro proyecto. Podemos usar drop() si queremos eliminar todos los datos e índices de una colección, mientras que remove() elimina los documentos coincidentes y conserva (actualiza) los índices.

Comencemos con el método drop() a continuación.

Usa el método soltar()

En MongoDB, puede eliminar una colección de una base de datos utilizando el método drop(). Se elimina una colección de la base de datos y también se eliminan todos los índices vinculados a las colecciones volcadas.

El método db.collection.drop() arroja un error cuando se usa con un argumento y no acepta ningún argumento. Si el comando soltar elimina con éxito una colección, devuelve true.

Cuando no hay una colección para soltar, devuelve false. Puede encontrar más información sobre el método drop() aquí.

Sintaxis:

> db.collectionName.drop()

Usemos el siguiente ejemplo para entender la idea mencionada:

> db.users.drop()

Estamos eliminando todas las colecciones de usuario en la muestra anterior, lo que también eliminará automáticamente cualquier índice asociado. Ejecute la línea de código anterior en MongoShell, que es compatible con MongoDB.

Mostrará el siguiente resultado:

true

Utilice el método remove()

En MongoDB, puede eliminar una colección de una base de datos utilizando el método remove().

Sin embargo, este método sería considerablemente “más lento” en un escenario de conjunto de réplicas porque el oplog contendría entradas para cada documento eliminado en lugar de un único comando de colocación de “colección”.

El método remove() es incompatible con las colecciones capped. El método remove() no se aplica a una colección de series temporales. Dependiendo de sus necesidades, elija un enfoque efectivo.

Si remove() elimina con éxito una colección, devuelve un objeto WriteResult que contiene el estado de la operación. Puede encontrar más información sobre remove() aquí.

Sintaxis:

> db.collectionName.remove({})

Usemos el siguiente ejemplo para entender la idea mencionada:

> db.users.remove({})

Los datos completos de la colección de usuario se eliminan en el ejemplo anterior, pero este método no elimina los índices vinculados a la colección. Ejecute la línea de código anterior en MongoShell, que es compatible con MongoDB. Mostrará el siguiente resultado:

WriteResult({ "nRemoved" : 3300 })