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
/ /

MongoDB\Database::createCollection()

MongoDB\Database::createCollection()

Crea explícitamente una colección.

function createCollection(
string $collectionName,
array $options = []
): void

MongoDB crea colecciones implícitamente la primera vez que se hace referencia a la colección en un comando, como al insertar un documento en una nueva colección. También se puede crear explícitamente una colección con opciones específicas mediante MongoDB\Database::createCollection() método, o utilizando db.createCollection() en la shell de MongoDB.

La creación explícita de colecciones te permite crear colecciones limitadas, especificar criterios de validación de documentos o configurar tu motor de almacenamiento u opciones de indexación.

$collectionName : string
El nombre de la colección que se va a crear.
$options : arreglo

Una matriz que especifica las opciones deseadas.

Nota

No todas las opciones están disponibles en todas las versiones de MongoDB. Consulte la referencia del comando create en el manual de MongoDB para obtener información sobre compatibilidad.

Nombre
Tipo
Descripción

tapado

booleano

Para crear una colección limitada, especifique true. Si especifica true, también debe establecer un tamaño máximo en la opción size.

cambiar imágenes previas y posteriores del flujo

Documento

Se utiliza para configurar la compatibilidad con imágenes previas y posteriores en los flujos de cambios. Consulte la documentación del comando create para obtener más información.

Esta opción está disponible desde MongoDB 6.0 y generará una excepción en el momento de ejecución si se especifica para una versión de servidor anterior.

Novedades en la versión 1.13.

clusteredIndex

Documento

Una especificación de índice agrupado. Consulta Collections agrupadas o la documentación del comando crear para más información.

Esta opción está disponible desde MongoDB 5.3 y dará lugar a una excepción en tiempo de ejecución si se especifica para una versión de servidor anterior.

Novedades en la versión 1.13.

intercalación

arreglo|objeto

comment

mixto

Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del generador de perfiles de base de datos, la salidacurrentOp y los registros.

Esta opción está disponible desde MongoDB 4.4 y, si se especifica para una versión de servidor anterior, dará lugar a una excepción en tiempo de ejecución.

Novedades en la versión 1.13.

encryptedFields

Documento

Un documento que describe campos cifrados para queryable encryption. Si se omite, se consultará la opción encryptedFieldsMap dentro de la opción del controlador autoEncryption. Consulta Cifrado de campo y consultabilidad en el manual de MongoDB para obtener más información.

Esta opción está disponible desde MongoDB 7.0 y generará una excepción en el momento de ejecución si se especifica para una versión de servidor anterior.

Novedades en la versión 1.13.

expireAfterSeconds

entero

Se utiliza para borrar automáticamente documentos en colecciones de series de tiempo. Consulte la documentación del comando create para más información.

Esta opción está disponible desde MongoDB 5.0 y se producirá una excepción en tiempo de ejecución si se especifica para una versión anterior del servidor.

Nuevo en la versión 1.9.

indexOptionDefaults

arreglo|objeto

Permite a los usuarios especificar una configuración por defecto para los índices al crear una colección.

La opción indexOptionDefaults acepta un documento storageEngine, el cual debe tener la siguiente forma:

{ <storage-engine-name>: <options> }

Las configuraciones del motor de almacenamiento especificadas al crear índices se validan y se registran en el oplog durante la replicación para admitir sets de réplicas con miembros que usan diferentes motores de almacenamiento.

máximo

entero

El número máximo de documentos permitidos en la colección con tamaño fijo. La opción size tiene prioridad sobre este límite. Si una colección con tamaño fijo alcanza el límite size antes de llegar al número máximo de documentos, MongoDB remueve los documentos antiguos. Si prefieres utilizar el límite max, asegúrate de que el límite size, que es necesario para una colección con tamaño fijo, sea suficiente para contener el número máximo de documentos.

maxTimeMS

entero

El límite de tiempo acumulado en milisegundos para las operaciones de procesamiento en el cursor. MongoDB aborta la operación en el siguiente punto de interrupción..

pipeline

arreglo

Una matriz que consta de las etapas de la canalización de agregación, que se aplicarán a la colección o vista especificada por. Consulte la viewOn documentación del comando create para obtener más información.

Novedades en la versión 1.13.

sesión

Sesión de cliente para asociar a la operación.

Nueva en la versión 1.3.

tamaño

entero

Especifique un tamaño máximo en bytes para una colección limitada. Una vez que una colección limitada alcanza su tamaño máximo, MongoDB elimina los documentos antiguos para liberar espacio para los nuevos. La opción size es obligatoria para las colecciones limitadas y se ignora para las demás.

storageEngine

arreglo|objeto

Disponible solo para el motor de almacenamiento WiredTiger.

Permite a los usuarios especificar la configuración para el motor de almacenamiento por colección al crear una colección. El valor de la opción storageEngine debe tomar la siguiente forma:

{ <storage-engine-name>: <options> }

Las configuraciones del motor de almacenamiento especificadas al crear las colecciones se validan y registran en el oplog durante la replicación para admitir sets de réplicas con nodos que utilicen diferentes motores de almacenamiento.

Series temporales

arreglo|objeto

Un objeto que contiene opciones para crear colecciones de series de tiempo. Consulta la documentación del comando create para conocer las opciones admitidas.

Esta opción está disponible desde MongoDB 5.0 y se producirá una excepción en tiempo de ejecución si se especifica para una versión anterior del servidor.

Nuevo en la versión 1.9.

typeMap

arreglo

El mapa de tipos que se aplica a los cursores y que determina cómo se convierten los documentos BSON a valores PHP. El valor predeterminado es el mapa de tipos de la base de datos.

Esto se utilizará para el documento de resultado del comando devuelto.

validationAction

string

Determina si se debe mostrar error en documentos no válidos o solo warn sobre las infracciones, pero permite que se inserten documentos no válidos.

IMPORTANTE: La validación de documentos solo se aplica a aquellos documentos según lo determinado por el validationLevel.

validationAction
Descripción

"error"

Por defecto. Los documentos deben pasar la validación antes de que ocurra el guardado. De lo contrario, la operación de escritura falla.

"warn"

No es necesario que los documentos pasen la validación. Si el documento no pasa la validación, la operación de guardar registra el fallo de validación.

validationLevel

string

Determina con qué rigor MongoDB aplica las reglas de validación a los documentos existentes durante una actualización.

validationLevel
Descripción

"off"

No hay validación para inserciones o actualizaciones.

"strict"

por defecto. Aplica reglas de validación a todas las inserciones y a todas las actualizaciones.

"moderate"

Aplica reglas de validación a las inserciones y a las actualizaciones en documentos válidos existentes. No apliques reglas a las actualizaciones en documentos inválidos existentes.

validator

arreglo|objeto

Permite a los usuarios especificar reglas de validación o expresiones para la colección. Para obtener más información, consulte validación de documento en el manual de MongoDB.

La opción validator toma un arreglo que especifica las reglas o expresiones de validación. Puedes especificar las expresiones utilizando los mismos operadores que los operadores del query de MongoDB, con la excepción de $near, $nearSphere, $text y $where.

La validación ocurre durante las actualizaciones e inserciones. Los documentos existentes no pasan por comprobaciones de validación hasta que se modifican.

No se puede especificar un validador para colecciones en las bases de datos admin, local y config.

No se puede especificar un validador para las colecciones de system.*.

Vista activada

string

El nombre de la colección de origen o vista a partir de la cual crear la vista.

El nombre no corresponde al espacio de nombres completo de la colección o vista (es decir, no incluye el nombre de la base de datos). Las vistas deben crearse en las mismas bases de datos que la colección o vista de origen.

Novedades en la versión 1.13.

writeConcern

nivel de confirmación de escritura (write concern) a utilizar para la operación. Se utiliza por defecto el nivel de confirmación de escritura (write concern) de la base de datos.

MongoDB\Exception\UnsupportedException si se utilizan opciones que no son compatibles con el servidor seleccionado (porcollation readConcernwriteConcernejemplo,,,).

MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\RuntimeException para otros errores en el nivel de extensión (por ejemplo, errores de conexión).

El siguiente ejemplo crea una colección users en la base de datos test con criterios de validación de documentos:

<?php
$db = (new MongoDB\Client)->test;
$db->createCollection('users', [
'validator' => [
'username' => ['$type' => 'string'],
'email' => ['$regex' => '@mongodb\.com$'],
],
]);

Volver

command()

En esta página