Construtores de índices
Nesta página
Visão geral
Neste guia, você pode aprender como especificar índices utilizandoconstrutores do no driver Java MongoDB . O construtor do Indexes
fornece métodos de assistente para construir os seguintes tipos de índices:
Os índices armazenam um subconjunto do conjunto de dados da collection. O índice armazena o valor de um campo específico ou conjunto de campos, ordenado pelo valor do campo. Consulte nosso guia sobre índices para obter exemplos de query cobertas por índices.
A classe Indexes
fornece métodos de fábrica estáticos para todos os tipos de índice do MongoDB. Cada método retorna um BSON instância, que você pode passar para createIndex().
Dica
Por questões de brevidade, você pode optar por importar todos os métodos dos Índices classe estaticamente:
import static com.mongodb.client.model.Indexes.*;
Os exemplos a seguir pressupõem essa importação estática.
Índices crescentes
Um índice ascendente permite classificar os resultados da query pelo valor dos campos indexados, do menor para o maior.
Para criar um índice ascendente, primeiro chame o método ascendente() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome ou nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
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"); collection.createIndex(ascendingIndex);
Índices decrescentes
Um índice decrescente permite classificar os resultados da query pelo valor dos campos indexados do maior para o menor.
Para criar um índice descendente, primeiro chame o método descendente() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome ou nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo a seguir especifica um índice decrescente no campo capacity
:
Bson descendingIndex = descending("capacity"); collection.createIndex(descendingIndex);
Índices compostos
Para criar um índice composto, primeiro chame o método compoundIndex() método construtor 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 método createIndex()
na coleção, passando a instância Bson
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 compoundIndexExample = compoundIndex(descending("capacity", "year"), ascending("name")); collection.createIndex(compoundIndexExample);
Text Indexes
Um índice de texto agrupa documentos pelo texto no campo indexado.
Para criar um índice de texto, primeiro chame o método text() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo a seguir especifica uma chave de índice de texto no campo "threads":
Bson textIndex = text("theaters"); collection.createIndex(textIndex);
Índices com hash
Um índice hash agrupa documentos pelo valor de hash no campo indexado.
Para criar um índice hashed, primeiro chame o hashed() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O exemplo seguinte especifica um índice hash no campo capacity
:
Bson hashedIndex = hashed("capacity"); collection.createIndex(hashedIndex);
Índices geoespaciais
Um índice 2dsphere
agrupa documentos pelas coordenadas no campo indexado.
Para criar um 2dsphere
índice , primeiro chame o geo2dsphere() método construtor para criar uma Bson
instância que representa o documento de índice, passando o nome ou nomes dos campos que você deseja indexar. Em seguida, chame o método createIndex()
na coleção, passando a instância Bson
que contém o documento de índice.
O seguinte exemplo especifica um índice 2dsphere
no campo location
:
Bson geo2dsphereIndex = geo2dsphere("location"); collection.createIndex(geo2dsphereIndex);