Come si esegue un join su MongoDB

Come si esegue un join su MongoDB

MongoDB è un tipo NOSQL di database ed è previsto che questi database non seguino RDBMS (sistemi di gestione del database relazionale) e quindi non forniscono ampi metodi di join. Tuttavia, il concetto di join di MongoDB è ispirato ai database SQL, perché inizialmente MongoDB stesso non ha fornito alcun metodo di giunzione. Puoi unirti a due collezioni a MongoDB con l'aiuto dell'operatore di aggregazione $.

Una singola raccolta potrebbe non descrivere i dati archiviati al suo interno; Una raccolta può contenere tali campi che devono essere collegati al campo di un'altra raccolta per descrivere quel campo. Per questo, puoi utilizzare l'operatore di ricerca $ del metodo di aggregazione. Tuttavia, dopo l'introduzione di $cercare Operatore, gli utenti possono divertirsi ad unire l'accesso a MongoDB.

In questo articolo, abbiamo spiegato brevemente l'uso dell'operatore di ricerca $ e vengono presentati alcuni esempi che mostrano il meccanismo di giunzione di MongoDB.

Come join funziona in mongodb

Questa sezione fornisce il meccanismo di lavoro di base dell'operatore di ricerca $, utilizzato nel metodo di aggregazione per eseguire l'adesione a MongoDB. La sintassi è fornita di seguito:

Sintassi

> db.collezione-nome.aggregato([

$ Lookup:

da: ,
Localfield:
Foreignfield:
,
AS: "Array-Field"


])

I termini utilizzati nella sintassi sono spiegati qui:

- Collection-Name: Viene applicato il nome di raccolta su cui sei presente o l'operatore di ricerca $

- da La collezione, ti stai prendendo di mira per partecipare

- Localfield: Ciò rappresenta il campo di un documento in una raccolta corrente che verrà utilizzata per corrispondere ad altre raccolte

- Campo straniero: Il campo della raccolta (da unire) che può rappresentare l'intero documento. (ID univoco)

- COME: Questo contiene un campo di array che viene creato dopo l'adesione

La sezione imminente dimostrerà unione a due collezioni in un database MongoDB.

Prerequisiti

Come accennato in precedenza, con l'aiuto dell'operatore di ricerca $, è possibile abbinare due raccolte di un database. Quindi, per eseguire questa operazione, devi aver bisogno di due raccolte da un database.

In questo post, abbiamo usato "personale" E "informazioni"Come una raccolta di"Linuxhint" Banca dati. Fai attenzione durante la selezione di una raccolta, perché puoi unirti solo a due collezioni che risiedono nello stesso Banca dati.

IL "personale"La raccolta contiene i seguenti documenti al suo interno: Il comando menzionato di seguito viene utilizzato per recuperare i documenti di un"personale" collezione.

> db.personale.Trovare().bello()

E contenuto della seconda raccolta "informazioni"Viene visualizzato emettendo il seguente comando:

> db.informazioni.Trovare().bello()

Come unirti a due collezioni in MongoDB

In questa sezione, imparerai a eseguire un join in MongoDB. Per questo, abbiamo eseguito l'azione per unirci al "personaleCollezione "con il"informazioni" collezione.

Nel comando di seguito, il metodo aggregato esercita l'operatore di ricerca $ per ottenere le informazioni da entrambe le raccolte e si unirà a loro in base alla seguente condizione:

Se la "Localfield" Di "personaleLa collezione corrisponde al "Foreignfield" Di "informazioni" collezione.

> db.personale.aggregato([

$ Lookup:

Da: "Informazioni",
Localfield: "_id",
Foreignfield: "_id",
AS: "Staff_info"


])

L'unione può essere vista nella sezione di output dell'immagine di seguito. Abbiamo usato la seguente etichetta per fornire una migliore comprensione.

IL "Ingresso" E "produzione"Le etichette mostrano rispettivamente il comando inserito e il suo risultato. I dati di entrambe le raccolte dopo l'adesione sono etichettati anche e un campo di array "Staff_info"Contiene i dati di"informazioni"Collezione dopo essersi unito.

Conclusione

MongoDB è ben noto a causa dell'ampio supporto per l'elaborazione dei dati all'interno di un database. Tuttavia, non supporta alcun metodo dedicato per unire raccolte come nei database basati su SQL. Alternativa a aderire, MongoDB supporta un operatore di ricerca $ che può essere utilizzato nel metodo di aggregazione per eseguire il join a sinistra. In questo tutorial della serie MongoDB, abbiamo spiegato il fenomeno di lavoro dell'operatore di ricerca $ nel metodo di aggregazione. Seguendo questa guida, un appassionato di Mongo sarebbe in grado di unirsi a una collezione con un'altra ..