Come con qualsiasi database, gli indici sono strutture dati essenziali in MongoDB. Favoriscono semplici query di database e ti consentono di archiviare e organizzare una parte della tua raccolta in campi unici. Gli indici supportano anche l'interrogazione dell'intervallo senza intoppi.

Se la tua app utilizza MongoDB, vuoi sfruttare la potenza degli indici per rendere le tue query più veloci ed efficienti. Quindi cosa sono gli indici in MongoDB e come puoi crearli?

Cosa sono gli indici in MongoDB?

Gli indici in MongoDB ti consentono di assegnare la priorità ad alcuni campi in un documento e trasformarli in parametri di query in un secondo momento. Quando si crea una raccolta, MongoDB crea un indice ID predefinito. Ma puoi aggiungerne altri se hai richieste più elevate o esigenze di organizzazione.

Gli indici univoci impediscono inoltre i duplicati durante l'immissione dei dati. Sono utili per rifiutare voci già esistenti nel database. Quindi puoi utilizzare l'indicizzazione univoca su nomi utente e campi di posta elettronica, ad esempio.

instagram viewer

Gli indici ti aiutano a catturare in modo specifico ciò che desideri utilizzando il formato di query definito nella quantità richiesta senza scansionare un'intera raccolta. Quando crei un indice, puoi specificare come vuoi che i tuoi dati vengano ordinati ogni volta che li interroghi.

Ad esempio, se decidi di ordinare i punti dati in base alle date di immissione senza utilizzare un indice, in genere fornirai criteri di query e ordinamento.

Supponiamo che tu voglia organizzare le età superiori a un certo numero in base alla data discendente delle voci. La tua query in genere ha questo aspetto:

db.collectionName.find({età: {$gt: 50}}).sort({data: -1})

Ma se avessi un indice sulle date di entrata, avresti solo bisogno di fornire i criteri di ricerca. Questo perché avresti già ordinato la data in modo decrescente durante la creazione dell'indice.

In tal caso, la query precedente diventa:

db.collectionName.find({età: {$gt: 50}})

Come creare un indice in MongoDB

Puoi creare indici in MongoDB usando la sua interfaccia shell integrata. Quindi è quello che useremo in questo tutorial.

Tuttavia, gli indici non esistono da soli. devi aver ha creato un database e una raccolta prima di poter creare un index.

Come accennato in precedenza, una caratteristica importante dell'indicizzazione è che consente di specificare i criteri di ordinamento durante la creazione dell'indice.

Ad esempio, un indice che dispone l'età in ordine inverso ha il seguente aspetto:

db.userCollection.createIndex({età: -1})

L'intero negativo (-1) nel codice indica a MongoDB di organizzare l'età in ordine inverso ogni volta che si interrogano i dati utilizzando il età indice. Pertanto, potrebbe non essere necessario specificare un ordinamento durante le query poiché l'indice lo gestisce già.

Per creare un indice dello stesso campo in modo ascendente, sostituire -1 con 1:

db.userCollection.createIndex({età: 1})

Sebbene ci siano altri tipi di indice in MongoDB, questo è come creare i moduli singoli e composti, poiché sono i più utilizzati.

Ma prima di andare avanti, assicurati di aver impostare un MongoDB server sul tuo PC. Se lo hai già fatto, apri la shell MongoDB e segui.

Crea un indice singolo in MongoDB

L'indicizzazione singola in MongoDB è semplice. Per iniziare, seleziona un database che contiene già raccolte.

Diciamo che il nome del nostro database è MUO:

usa MUO

Una volta scelto un database, utilizzare il pulsante createIndex() comando nella shell per creare un singolo indice.

Ad esempio, per creare un singolo indice di nomi utente in una raccolta e utilizzarlo per eseguire query in ordine inverso:

db.collectionName.createIndex({nomeutente: -1})

Indicizzazione multichiave in MongoDB

Gli indici multichiave sono utili per l'indicizzazione di un campo in un array di dati complesso. Ad esempio, una raccolta potrebbe contenere dati complessi di utenti con le loro informazioni in un altro array. Ad esempio, dì nome, altezza ed età.

Puoi creare un indice multichiave sull'altezza di ciascun utente in quell'array in questo modo:

db.customers.createIndex({user.height: 1})

Il altezza nel codice sopra c'è un sottoinsieme di utente campo.

Crea un indice composto

Un indice composto contiene più di un indice. Per creare un indice composto di indirizzo e tipo di prodotto su una collezione cliente, ad esempio:

db.customer.createIndex({indirizzo: 1, prodotti: 1})

Poiché non hai fornito un nome durante la creazione dell'indice precedente, MongoDB ne crea uno per impostazione predefinita. Ma separa il nome di ogni indice da un carattere di sottolineatura. Quindi è meno leggibile, specialmente se hai più di due indici in un composto.

Per specificare un nome durante la creazione di un indice composto:

db.customers.createIndex({location: 1, products: 1, weight: -1}, {name: "myCompundIndex"})

Ottieni tutti gli indici in una raccolta

Per visualizzare tutti gli indici in una raccolta:

db.collectionName.getIndexes()

Il codice precedente restituisce tutti gli indici in una raccolta denominata.

Organizza il tuo database con gli indici

L'indicizzazione in MongoDB riduce la latenza di runtime durante l'esecuzione di query simultanee. Inoltre, ti aiutano a organizzare il tuo database e a renderlo più accessibile. Come hai visto, la creazione di indici in MongoDB non è complessa, dopotutto. Gli esempi qui sono sufficienti per iniziare con la creazione dell'indice. Tuttavia, per vedere i tuoi indici in pratica, devi sapere come funziona l'interrogazione in MongoDB.

Come eseguire operazioni CRUD in MongoDB

Conoscere MongoDB è complicato. Parti subito con CRUD.

Leggi Avanti

CondividereTweetE-mail
Argomenti correlati
  • Programmazione
  • Pitone
  • Programmazione
  • Banca dati
Circa l'autore
Idowu Omisola (119 articoli pubblicati)

Idowu è appassionato di qualsiasi tecnologia intelligente e produttività. Nel tempo libero gioca con la programmazione e quando si annoia passa alla scacchiera, ma ama anche staccare ogni tanto dalla routine. La sua passione per mostrare alle persone la tecnologia moderna lo motiva a scrivere di più.

Altro da Idowu Omisola

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti