um índice em MongoDB é uma estrutura de dados especial que contém os dados de poucos campos de documentos em que o índice é criado. Os índices melhoram a velocidade das operações de pesquisa no banco de dados porque, em vez de pesquisar todo o documento, a pesquisa é realizada nos índices que contêm apenas poucos campos. Por outro lado, ter demasiados índices pode dificultar o desempenho das operações de inserção, actualização e eliminação devido à escrita adicional e espaço de dados adicionais utilizados pelos índices.
como criar um índice em MongoDB
sintaxe:
db.collection_name.createIndex({field_name: 1 or -1})
o valor 1 é para ordem ascendente e -1 é para ordem descendente.
Por exemplo, eu tenho uma coleção studentdata
. Os documentos dentro desta coleção têm os seguintes campos:
student_name, student_id e student_age
Vamos supor que eu quero criar o índice student_name campo em ordem crescente:
db.studentdata.createIndex({student_name: 1})
Saída:
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}
temos criado o índice de student_name o que significa que quando alguém procura o documento com base no student_name, a pesquisa será mais rápida, pois o índice será usado para esta pesquisa. Então isso é importante para criar o índice no campo que será frequentemente pesquisado em uma coleção.
MongoDB-encontrar os índices em uma coleção
podemos usar o método getIndexes() para encontrar todos os índices criados em uma coleção. A sintaxe para este método é:
db.collection_name.getIndexes()
Assim, para obter os índices de studentdata
coleção, o comando seria:
> db.studentdata.getIndexes()
A saída mostra que temos dois índices nesta coleção. O índice padrão criado em _id e o índice que criamos no campo student_name.
MongoDB-Drop indexes in a collection
you can either drop a particular index or all the indexes.
deixando cair um índice específico:
para este fim é usado o método dropIndex ().
db.collection_name.dropIndex({index_name: 1})
Permite descartar o índice que foi criado no student_name
campo na coleção studentdata
. O comando para isso:
db.studentdata.dropIndex({student_name: 1})
nIndexesWas: mostra quantas índices estavam lá antes que este comando tem executado
ok: 1: Isto significa que o comando é executado com êxito.
largando todos os índices:
para baixar todos os índices de uma coleção, usamos o método dropIndexes ().
sintaxe do método dropIndexs() :
db.collection_name.dropIndexes()
digamos que queremos baixar todos os índices de studentdata
collection.
db.studentdata.dropIndexes()
a mensagem” índices não-_id largados para recolha ” indica que o índice por omissão _id permanecerá e não poderá ser abandonado. Isto significa que usando este método só podemos drop índices que criamos, não podemos drop o índice padrão criado no campo _id.