Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

MongoDB\Collection::createIndex()

MongoDB\Collection::createIndex()

Crie um índice para a collection.

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

Especifica o campo ou campos para indexar e a ordem do índice.

Por exemplo, o seguinte especifica um índice descendente no campo username :

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

Uma array especificando as opções desejadas.

O parâmetro $options aceita ambas as opções de índice e comando. Veja a seguir uma lista não exaustiva de opções de índice. Para obter uma lista completa de opções de índice, consulte a referência de comando createIndexes no manual MongoDB .

Opções de índice (não exaustivo)

agrupamento
array|object
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

inteiro

Cria um índice TTL .

name

string

Um nome que identifica exclusivamente o índice. Por padrão, o MongoDB cria nomes de índice com base na chave.

Expressão de filtro parcial

array|object

Cria um índice parcial .

Esparso

booleano

Cria um índice esparso .

unique

booleano

Cria um índice único .

Opções de comando

Nome
Tipo
Descrição

comment

misto

Permite ao usuário especificar um comentário arbitrário para ajudar a rastrear a operação por meio do profiler de banco de dados, da saída currentOp e dos 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.

Novidades 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 w em 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.

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

Novidades na versão 1.3.

session

Sessão do cliente a ser associada à operação.

Novidades na versão 1.3.

writeConcern

Write concern a ser usada na operação. O padrão é a write concern da coleção.

Não é possível especificar uma write concern para operações individuais como parte de uma transação. Em vez disso, defina a opção writeConcern ao iniciar a transação.

O nome do índice criado como uma string.

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

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);

A saída seria então semelhante a:

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);

A saída seria então semelhante a:

string(9) "borough_1"