Definición
Parámetros
$indexes: matrizLos índices que se crean en la colección.
Por ejemplo, lo siguiente especifica un índice único en el campo
usernamey un índice compuesto en los camposemailycreatedAt:[ [ 'key' => [ 'username' => -1 ], 'unique' => true ], [ 'key' => [ 'email' => 1, 'createdAt' => 1 ] ], ] $options: matrizUna matriz que especifica las opciones deseadas.
NombreTipoDescripcióncomment
mixto
Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del generador de perfilesde base de datos, salidacurrentOpy 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.
commitQuorum
cadena|entero
Especifica cuántos miembros portadores de datos de un conjunto de réplicas, incluido el principal, deben completar las compilaciones de índices exitosamente antes de que el principal marque los índices como listos.
Esta opción acepta los mismos valores para el campo
wen 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 4.4 y generará una excepción en el momento de ejecución si se utiliza.
Nuevo en la versión 1.7.
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.
Nuevo en la versión 1.3.
sesión
Sesión de cliente para asociar a la operación.
Nuevo en la versión 1.3.
writeConcern
Escriba la preocupación que se usará para la operación. El valor predeterminado es la preocupación de escritura de la colección.
No es posible especificar una preocupación de escritura para operaciones individuales como parte de una transacción. En su lugar, configure la
writeConcernopción al iniciar la transacción.
Return Values
Los nombres de los índices creados como una matriz de cadenas.
Errores/Excepciones
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).
Comportamiento
$indexes parameter
El $indexes parámetro es una matriz de documentos de especificación de índices. Cada elemento de $indexes debe ser una matriz u objeto con un key campo, que corresponde al $key parámetro de. La matriz u objeto puede incluir createIndex() otros campos que correspondan a las opciones de índice aceptadas por. Para obtener una lista completa de las createIndex() opciones de creación de índices admitidas, consulte la referencia del comando createIndexes en el manual de MongoDB.
Por ejemplo, el siguiente parámetro $indexes crea dos índices. El primero es un índice único ascendente en el campo username y el segundo es un índice 2dsphere en el campo loc con un nombre personalizado:
[ [ 'key' => [ 'username' => 1 ], 'unique' => true ], [ 'key' => [ 'loc' => '2dsphere' ], 'name' => 'geo_index' ], ]
Ejemplo
El siguiente ejemplo crea dos índices en la colección restaurants de la base de datos test. Un índice es un índice compuesto en los campos borough y cuisine, y el otro es un índice 2dsphere en el campo loc con un nombre personalizado.
$collection = (new MongoDB\Client)->getCollection('test', 'restaurants'); $indexNames = $collection->createIndexes([ [ 'key' => [ 'borough' => 1, 'cuisine' => 1] ], [ 'key' => [ 'loc' => '2dsphere'], 'name' => 'geo_index' ], ]); var_dump($indexNames);
El resultado sería entonces similar a lo siguiente:
array(2) { [0]=> string(19) "borough_1_cuisine_1" [1]=> string(9) "geo_index" }
Ver también
Referencia del comandocreateIndexes en el manual de MongoDB
Documentación delíndice en el Manual de MongoDB