Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Crea una colección con tamaño fijo

Para crear una colección con tamaño fijo, especifique la capped opción ya sea al método db.createCollection() o al comando create.

Debe crear colecciones limitadas explícitamente. No se puede crear una colección con tamaño fijo implícitamente insertando datos en una colección que no existe.

Cuando se crea una colección con tamaño fijo, se debe especificar el tamaño máximo de la colección. MongoDB preasigna el almacenamiento especificado para la colección. El tamaño de la colección con tamaño fijo incluye una pequeña cantidad de espacio para sobrecarga interna.

Opcionalmente, puedes especificar un número máximo de documentos para la colección. MongoDB remueve los documentos más antiguos si la colección alcanza el límite máximo de tamaño antes de llegar al conteo máximo de documentos.

En general, los índices TTL (Time To Live) ofrecen un mejor rendimiento y más flexibilidad que las colecciones con tamaño fijo. Los índices TTL caducan y remueven datos de las colecciones normales según el valor de un campo de tipo fecha y un valor TTL para el índice.

Las colecciones con tamaño fijo serializan las operaciones de guardado y, por lo tanto, tienen un rendimiento peor en la inserción, actualización y eliminación concurrentes que las colecciones sin tamaño fijo. Antes de crear una colección con tamaño fijo, considera si puedes usar un índice TTL en su lugar.

Los siguientes ejemplos le muestran cómo:

  • Crea una colección con tamaño fijo con un Tamaño Máximo

  • Crear una colección con tamaño fijo con un número máximo de documentos

Crea una colección con tamaño fijo llamada log que tiene un tamaño máximo de 100,000 bytes:

db.createCollection( "log", { capped: true, size: 100000 } )

Nota

El valor que proporcione para el campo size debe ser mayor que 0 y menor o igual que 1024^5 (1 PB). MongoDB redondea el size de todas las colecciones limitadas al múltiplo entero más cercano de 256, en bytes.

Crear una colección con tamaño fijo llamada log2 que tenga un tamaño máximo de 5,242,880 bytes y pueda almacenar un máximo de 5,000 documentos:

db.createCollection(
"log2",
{
capped: true,
size: 5242880,
max: 5000
}
)

Importante

El campo size siempre es obligatorio, incluso cuando se especifica el número max de documentos.

Volver

Colecciones con tamaño fijo

En esta página