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 el shell de MongoDB.

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

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

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.Consulte Colecciones agrupadas o la documentación del comando create para obtener más información.

Esta opción está disponible desde MongoDB 5.3 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.

intercalación

matriz|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 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.

encryptedFields

Documento

Un documento que describe los campos cifrados para el cifrado consultable. Si se omite,encryptedFieldsMap autoEncryption se consultará la opción dentro de la opción del controlador. Consulte "Cifrado de campos 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.

expirarDespuésDeSegundos

entero

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

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

Nuevo en la versión 1.9.

indexOptionDefaults

matriz|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 registran en el registro de operaciones durante la replicación para admitir conjuntos 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 limitada. La opción size prevalece sobre este límite. Si una colección limitada alcanza el límite size antes de alcanzar el número máximo de documentos, MongoDB elimina los documentos antiguos. Si prefiere usar el límite max, asegúrese de que el límite size, necesario para una colección limitada, sea suficiente para contener el número máximo de documentos.

maxTimeMS

entero

El límite de tiempo acumulado en milisegundos para procesar operaciones en el cursor. MongoDB cancela la operación en el punto de interrupción posterior más cercano.

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.

Nuevo 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

matriz|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 colecciones se validan y registran en el registro de operaciones durante la replicación para admitir conjuntos de réplicas con miembros que usan diferentes motores de almacenamiento.

series temporales

matriz|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 generará una excepción en el momento de ejecución si se especifica para una versión de servidor anterior.

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.

Acción de validación

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"

Los documentos no necesitan pasar la validación. Si el documento no la supera, la operación de escritura registra el fallo.

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"

Predeterminado. Aplicar reglas de validación a todas las inserciones y 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

matriz|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 validator opción utiliza una matriz que especifica las reglas o expresiones de validación. Puede especificar las expresiones utilizando los mismos operadores que los operadores de consulta de MongoDB, con la excepción $near de,, $nearSphere $text $wherey.

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 o vista de origen desde la que se 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 para 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

dominio()

En esta página