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

Construtores de índices

Neste guia, você pode aprender como especificar índices usando construtores no driver Java Reactive Streams. O construtor Indexes fornece métodos assistente para construir os seguintes tipos de índices:

Os índices armazenam um subconjunto do conjunto de dados da coleção. O índice armazena o valor de um campo específico ou conjunto de campos, ordenado pelo valor do campo.

A classe Indexes fornece métodos de fábrica estáticos para todos os tipos de índice do MongoDB . Cada método retorna uma instância BSON, que você pode passar para createIndex().

Dica

Para maior brevidade, você pode optar por importar todos os métodos da classe Índices estaticamente:

import static com.mongodb.client.model.Indexes.*;

Os exemplos a seguir pressupõem essa importação estática.

Um índice ascendente permite classificar os resultados da query pelo valor dos campos indexados, do menor para o maior.

In order to create an ascending index, first call the ascending() builder method to create a Bson instance that represents the index document, passing the name or names of the fields you want to index. Then, call the createIndex() method on the collection, passing the Bson instance that contains the index document.

Observação

Se você tiver um índice ascendente ou descendente em um único campo, o MongoDB poderá classificar usando o índice em qualquer direção.

O exemplo seguinte especifica um índice ascendente no campo name :

Bson ascendingIndex = ascending("name");
Publisher<String> result = collection.createIndex(ascendingIndex);
Mono.from(result).block();

Um índice decrescente permite classificar os resultados da query pelo valor dos campos indexados do maior para o menor.

In order to create a descending index, first call the descending() builder method to create a Bson instance that represents the index document, passing the name or names of the fields you want to index. Then, call the createIndex() method on the collection, passing the Bson instance that contains the index document.

O exemplo a seguir especifica um índice decrescente no campo capacity:

Bson descendingIndex = descending("capacity");
Publisher<String> result = collection.createIndex(descendingIndex);
Mono.from(result).block();

Para criar um índice composto, primeiro chame o método construtor compoundIndex() para criar uma Bson instância que representa o documento de índice , passando os nomes dos campos que você deseja indexar. Em seguida, chame o createIndex() método na collection, passando a Bson instância que contém o documento de índice.

O exemplo seguinte especifica um índice composto composto de índice descendente no campo capacity e year , seguido por um índice ascendente no campo name :

Bson compoundIndex = compoundIndex(descending("capacity", "year"), ascending("name"));
Publisher<String> result = collection.createIndex(compoundIndex);
Mono.from(result).block();

Um índice de texto agrupa documentos pelo texto no campo indexado.

In order to create a text index, first call the text() builder method to create a Bson instance that represents the index document, passing the name of the fields you want to index. Then, call the createIndex() method on the collection, passing the Bson instance that contains the index document.

O exemplo a seguir especifica uma chave de índice de texto no campo "threads":

Bson textIndex = text("theaters");
Publisher<String> result = collection.createIndex(textIndex);
Mono.from(result).block();

Um índice hash agrupa documentos pelo valor de hash no campo indexado.

Para criar um índice hashed, primeiro chame o método construtor hashed() para criar uma Bson instância que represente o documento de índice, passando o nome dos campos que você deseja indexar. Em seguida, chame o createIndex() método na collection, passando a Bson instância que contém o documento de índice.

O exemplo seguinte especifica um índice hash no campo capacity :

Bson hashedIndex = hashed("capacity");
Publisher<String> result = collection.createIndex(hashedIndex);
Mono.from(result).block();

Um índice 2dsphere agrupa documentos pelas coordenadas no campo indexado.

Para criar um 2dsphere índice, primeiro chame o método construtor geo2dsphere() para criar uma Bson instância que represente o documento de índice, passando o nome ou os nomes dos campos que você deseja indexar. Em seguida, chame o createIndex() método na coleção, passando a Bson instância que contém o documento de índice.

O seguinte exemplo especifica um índice 2dsphere no campo location :

Bson geo2dsphereIndex = geo2dsphere("location");
Publisher<String> result = collection.createIndex(geo2dsphereIndex);
Mono.from(result).block();