Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

MongoDB\Collection::createIndex()

MongoDB\Collection::createIndex()

Cree un índice para la colección.

function createIndex(
array|object $key,
array $options = []
): string
$key : arreglo|objeto

Especifica el campo o los campos a indexar y el orden del índice.

Por ejemplo, lo siguiente especifica un índice descendente en el campo username:

[ 'username' => -1 ]
$options : arreglo

Un arreglo que especifica las opciones deseadas.

El parámetro $options acepta tanto índices como opciones de comando. A continuación se muestra una lista no exhaustiva de opciones de índice. Para obtener una lista completa de opciones de índices, consulta la referencia del comando createIndexes en el manual de MongoDB.

Opciones de índices (no exhaustivas)

intercalación
arreglo|objeto
Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the locale field is mandatory; all other collation fields are optional. For descriptions of the fields, see Collation Document.If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

expireAfterSeconds

entero

Crea un índice TTL.

Nombre

string

Un nombre que identifique el índice unívocamente. Por defecto, MongoDB crea nombres de índices basados en la clave.

Expresión de filtro parcial

arreglo|objeto

sparse

booleano

Crea un índice escaso.

unique

booleano

Opciones de comando

Nombre
Tipo
Descripción

comment

mixto

Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del perfilador de bases de datos, la salida actualOp() y 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.

Nuevo en la versión 1.13.

commitQuorum

cadena de texto|entero

Especifica cuántos nodos portadores de datos de un set de réplicas, incluido el primario, deben completar la construcción de índices con éxito antes de que el primario marque los índices como listos.

Esta opción acepta los mismos valores para el campo w en un nivel de confirmación de escritura (write concern), más "votingMembers", lo que indica todos los nodos votantes con datos.

Esto no es compatible con versiones de servidor anteriores a la 4.4 y si se utiliza, dará lugar a una excepción en el momento de la ejecución.

Nuevo en la versión 1.7.

maxTimeMS

entero

El límite de tiempo acumulativo en milisegundos para las operaciones de procesamiento en el cursor. MongoDB aborta la operación lo antes posible tras el punto de interrupción.

Nuevo en la versión 1.3.

sesión

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

Nuevo en la versión 1.3.

writeConcern

nivel de confirmación de escritura (write concern) a usar en la operación. Por defecto, se aplica el nivel de confirmación de escritura (write concern) de la colección.

No es posible especificar un nivel de confirmación de escritura (write concern) para operaciones individuales como parte de una transacción. En su lugar, configura la opción writeConcern al iniciar la transacción.

El nombre del índice creado como un string.

MongoDB\Exception\UnsupportedException si se usan opciones que no sean compatibles con el servidor seleccionado (p. ej. collation, readConcern, writeConcern).

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

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

The following example creates a compound index on the borough and cuisine fields in the restaurants collection in the test database.

<?php
$collection = (new MongoDB\Client)->selectCollection('test', 'restaurants');
$indexName = $collection->createIndex(['borough' => 1, 'cuisine' => 1]);
var_dump($indexName);

La vista de salida se ilustraría como sigue:

string(19) "borough_1_cuisine_1"

The following example adds a partial index on the borough field in the restaurants collection in the test database. The partial index indexes only documents where the borough field exists.

<?php
$collection = (new MongoDB\Client)->selectCollection('test', 'restaurants');
$indexName = $collection->createIndex(
['borough' => 1],
[
'partialFilterExpression' => [
'borough' => ['$exists' => true],
],
]
);
var_dump($indexName);

La vista de salida se ilustraría como sigue:

string(9) "borough_1"