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([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([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 ..