Definição
Parâmetros
- $indexes: array
- Os índices a serem criados na collection. - Por exemplo, o seguinte especifica um índice único no campo - usernamee um índice composto nos campos- emaile- createdAt:- [ - [ 'key' => [ 'username' => -1 ], 'unique' => true ], - [ 'key' => [ 'email' => 1, 'createdAt' => 1 ] ], - ] 
- $options: array
- Uma array especificando as opções desejadas. NomeTipoDescrição- comment - misto - Permite que os usuários especifiquem um comentário arbitrário para ajudar a rastrear a operação por meio do profiler do banco de dados, saída currentOp e registros. - Esta opção está disponível desde o MongoDB 4.4 e resultará em uma exceção no momento da execução se for especificada para uma versão mais antiga do servidor. - Novidade na versão 1.13. - commitQuorum - string|inteiro - Especifica quantos membros portadores de dados de um conjunto de réplicas, incluindo o primário, devem concluir as construções de índices com êxito antes que o primário marque os índices como prontos. - Essa opção aceita os mesmos valores para o campo - wem uma referência de escrita mais- "votingMembers", que indica todos os nós portadores de dados de votação.- Isto não é suportado para versões de servidor anteriores à 4.4 e resultará em uma exceção no tempo de execução se utilizado. - Novidade na versão 1.7. - maxTimeMS - inteiro - O limite de tempo cumulativo em milésimos de segundo para operações de processamento no cursor. O MongoDB aborta a operação o mais cedo possível após o ponto de interrupção. - Novidade na versão 1.3. - session - Sessão do cliente a ser associada à operação. - Novidade na versão 1.3. - writeConcern - Preocupação de gravação a ser usada na operação. O padrão é a preocupação de gravação da coleção. - Não é possível especificar uma preocupação de gravação para operações individuais como parte de uma transação. Em vez disso, defina a opção - writeConcernao iniciar a transação.
Return Values
Os nomes dos índices criados como um array de strings.
Erros/exceções
MongoDB\Exception\UnsupportedException se as opções forem usadas e não aceitas pelo servidor selecionado (p. ex., collation, readConcern, writeConcern).
MongoDB\Exception\InvalidArgumentException para erros relacionados à análise de parâmetros ou opções.
MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).
Comportamento
$indexes parameter
O parâmetro $indexes é uma array de documentos de especificação de índices. Cada elemento em $indexes deve ser uma array ou objeto com um campo key , que corresponde ao parâmetro $key de createIndex(). A array ou objeto pode incluir outros campos que correspondem às opções de índice aceitas por createIndex(). Para obter uma lista completa das opções de criação de índice suportadas, consulte a referência de comando createIndexes no manual MongoDB.
Por exemplo, o seguinte parâmetro $indexes cria dois índices. O primeiro é um índice único ascendente no campo username e o segundo é um índice 2dsphere no campo loc com um nome personalizado:
[     [ 'key' => [ 'username' => 1 ], 'unique' => true ],     [ 'key' => [ 'loc' => '2dsphere' ], 'name' => 'geo_index' ], ] 
Exemplo
O exemplo seguinte cria dois índices na collection restaurants no reconhecimento de data center test . Um índice é um índice composto nos campos borough e cuisine e o outro é o índice 2dsphere no campo loc com um nome 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); 
A saída seria então semelhante a:
array(2) {   [0]=>   string(19) "borough_1_cuisine_1"   [1]=>   string(9) "geo_index" } 
Veja também
- Referência do comando createIndexes no manual MongoDB 
- Documentação de índices no Manual do MongoDB