Definição
Parâmetros
$indexes: arrayOs índices a serem criados na collection.
Por exemplo, o seguinte especifica um índice único no campo
usernamee um índice composto nos camposemailecreatedAt:[ [ 'key' => [ 'username' => -1 ], 'unique' => true ], [ 'key' => [ 'email' => 1, 'createdAt' => 1 ] ], ] $options: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãocomment
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)->selectCollection('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