MongoDB Indicizzazione Tutorial con esempio

Un indice in MongoDB è una struttura dati speciale che contiene i dati di pochi campi di documenti su cui viene creato l’indice. Gli indici migliorano la velocità delle operazioni di ricerca nel database perché invece di cercare l’intero documento, la ricerca viene eseguita sugli indici che contengono solo pochi campi. D’altra parte, avere troppi indici può ostacolare le prestazioni delle operazioni di inserimento, aggiornamento ed eliminazione a causa della scrittura aggiuntiva e dello spazio dati aggiuntivo utilizzato dagli indici.

Come creare indice in MongoDB

Sintassi:

db.collection_name.createIndex({field_name: 1 or -1})

Il valore 1 è per ordine crescente e -1 è per ordine decrescente.

Ad esempio, ho una raccolta studentdata. I documenti all’interno di questa raccolta hanno i seguenti campi:
student_name, student_id e student_age

Diciamo che voglio creare l’indice sul campo student_name in ordine crescente:

db.studentdata.createIndex({student_name: 1})

Output:

{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}

MongoDB create index

Abbiamo creato l’indice student_name il che significa che quando qualcuno cerca il documento in base al student_name, la ricerca sarà più veloce perché l’indice viene utilizzato per questa ricerca. Quindi questo è importante per creare l’indice sul campo che verrà cercato frequentemente in una raccolta.

MongoDB – Trovare gli indici in una raccolta

Possiamo usare il metodo getIndexes() per trovare tutti gli indici creati su una raccolta. La sintassi per questo metodo è:

db.collection_name.getIndexes()

Quindi per ottenere gli indici distudentdata raccolta, il comando sarebbe:

> db.studentdata.getIndexes()

L’output mostra che abbiamo due indici in questa raccolta. L’indice predefinito creato su _id e l’indice che abbiamo creato sul campo student_name.

MongoDB – Drop indices in una raccolta

È possibile eliminare un particolare indice o tutti gli indici.

Cadere un indice specifico:
A questo scopo viene utilizzato il metodo dropIndex ().

db.collection_name.dropIndex({index_name: 1})

Lascia cadere l’indice che abbiamo creato su student_namecampo nella raccolta studentdata. Il comando per questo:

db.studentdata.dropIndex({student_name: 1})

MongoDB Drop Index
nIndexesWas: Mostra quanti indici c’erano prima che questo comando venisse eseguito
ok: 1: Questo significa che il comando viene eseguito correttamente.

Eliminare tutti gli indici:
Per eliminare tutti gli indici di una raccolta, usiamo il metodo dropIndexes ().
Sintassi del metodo dropIndexs ():

db.collection_name.dropIndexes()

Diciamo che vogliamo eliminare tutti gli indici della raccolta studentdata.

db.studentdata.dropIndexes()

MongoDB Eliminazione di tutti gli indici

Il messaggio “indici non-_id eliminati per la raccolta” indica che l’indice _id predefinito rimarrà e non può essere eliminato. Ciò significa che usando questo metodo possiamo solo eliminare gli indici che abbiamo creato, non possiamo eliminare l’indice predefinito creato sul campo _id.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.