"Il database MongoDB svolge un ruolo importante nella memorizzazione e nella manipolazione dei dati. Per organizzare i dati, creiamo gruppi per raccogliere lo stesso tipo di dati in un unico posto. Il raggruppamento può essere su attributi diversi, dalla variabile di conteggio o da qualsiasi altra funzione. Questo tutorial spiegherà la creazione del gruppo in base a diversi campi di documenti.
Per l'implementazione del fenomeno dei gruppi in base a più campi, dobbiamo avere alcuni dati nel database. Creeremo prima un database. Questo viene fatto dichiarando il nome del database con la parola chiave "Usa."Per questa implementazione, stiamo utilizzando un database" Demo."
>> usa la demoUna volta terminato la creazione di database, i dati verranno inseriti nel database. E per l'inserimento dei dati che abbiamo usato per creare "raccolte", questi sono i contenitori che svolgono un ruolo importante nell'archiviazione dei dati illimitati in essi. In un momento, possiamo creare molte raccolte in un singolo database. Qui creeremo un database con il nome "Informazioni."
>> db.CreateCollection ('Info')La risposta di MongoDB sarà "OK"; è la conferma della creazione della collezione. I dati nella raccolta vengono inseriti riga per riga. Quindi inseriremo i dati nella raccolta. Poiché questi dati verranno utilizzati ulteriormente negli esempi per creare gruppi in base a diversi campi, quindi abbiamo inserito molte righe. Ogni volta che un ID diverso viene assegnato a ogni riga.
>> db.informazioni.insertOne ("nome": "Savid",Allo stesso modo, tutti i dati verranno inseriti. Puoi vedere tutti i dati inseriti utilizzando il comando find ()
>> db.informazioni.Trovare().bello()Esempio 1: gruppo per più campi/attributi
Quando abbiamo un ampio set di dati nel database, ma vogliamo prenderne una visione di alcuni di essi, quindi a questo scopo, vengono trovati $ gruppi. In questo esempio, creeremo un gruppo per vedere alcuni attributi particolari dalla raccolta. Il fattore di gruppo si basa sull'operazione aggregata. Viene utilizzata un'operazione aggregata, per riassumere i dati secondo i campi comuni. Il segno "$" dollaro indica la variabile. Ora applica una domanda nella raccolta di informazioni sopra.
Verrà creato un gruppo a seconda dell'ID. E poi, vengono selezionati solo i documenti di età e genere. Mentre gli interi dati, inclusi il nome e il paese, vengono rimossi. Questo è in qualche modo un filtro che viene utilizzato per limitare la visualizzazione dei dati.
>> db.informazioni.Aggregate ([$ Group: _id: Age: "$ Age", Gender: "$ Gender"])Puoi vedere che abbiamo raggruppato ogni riga in base all'ID limitando i dati a due attributi.
Esempio 2: raggruppa attraverso più campi applicando una condizione
Ciò si riferisce al raggruppamento dei documenti in base a una condizione specifica. Un gruppo verrà creato su due attributi e, dopo la creazione del gruppo, aggiungeremo una variabile di conteggio per contare il verificarsi del valore di un documento specifico. Inoltre, abbiamo aggiunto un ordine di smistamento.
Innanzitutto, visualizziamo i documenti nella nostra collezione “Nuovo."Abbiamo creato una raccolta e aggiunto dati prima seguendo gli stessi passaggi sopra descritti. Visualiremo solo tutti gli elementi nella raccolta tramite la funzione find ().
La query conterrà prima la parte del gruppo. Il gruppo è creato su ID; L'università e il livello sono i due attributi di base che vogliamo essere visualizzati. La variabile che utilizziamo ottiene il valore dalla raccolta e quindi lo assegna alla variabile di query. Tutti i valori e le condizioni non sono scritti direttamente nel comando.
Dopo la creazione del gruppo, viene applicata la condizione; è per contare e calcolare la somma in base ai livelli di ciascun documento. Successivamente, questa risposta sarà organizzata in ordine decrescente. Questo viene fatto tramite le funzioni di ordinamento (). Questa funzione contiene solo due parametri; Per il valore ascendente, è 1, e per la discesa, è -1.
>> db.nuovo.Aggregate ([$ Group: _id: "University": "$ University", "Level": "$ Level", "LevelCount": "$ Sum": 1, "$ Sort" : "LevelCount":-1])L'ordine decrescente mostrerà che la quantità maggiore del livello verrà visualizzata prima, quindi quella più piccola viene visualizzata seguendo il documento di livello.
Esempio 3: Gruppo di secchi MongoDB per più campi
Come indica il nome che i gruppi vengono trovati secondo il secchio. Questo viene fatto creando l'aggregazione del secchio. L'aggregazione del secchio è il processo di classificazione dei documenti in gruppi. Questo gruppo si comporta come secchi. Ogni documento è diviso a seconda dell'espressione specifica.
Per approfondire questo concetto, daremo un'occhiata a una raccolta che abbiamo creato e ora applicheremo i comandi a questo. Viene creata una raccolta "disegna" che memorizza le informazioni di base riguardanti una persona. Abbiamo visualizzato tutte le 4 righe inserite nella raccolta in precedenza.
Nei dati di cui sopra, applicheremo un comando per creare un secchio (gruppo) con l'anno come attributo per raggruppare i dati. Abbiamo anche creato confini in cui sono menzionati l'anno di nati e morte. Le condizioni applicate su questo comando includono la variabile di conteggio per contare il numero di occorrenze. Abbiamo anche usato un metodo di concatenazione qui per combinare sia il primo che il secondo nome come stringhe. E anche l'anno di nascita verrà visualizzato. L'ID dipende dall'anno.
Quando calcoliamo questa query, il valore risultante mostrerà che due righe sono raggruppate a seconda dei confini dell'età che abbiamo creato.
Conclusione
La caratteristica mongodb del raggruppamento in base a un singolo campo è elaborata in questo articolo dimostrando il funzionamento dell'operazione aggregata nella creazione di gruppi. Qualsiasi funzione di gruppo è incompleta senza la funzione aggregata. La funzione di gruppo viene applicata direttamente attraverso i diversi campi per limitare l'esposizione di interi dati. Il raggruppamento tramite più campi viene realizzato applicando una condizione particolare. Alla fine, abbiamo descritto la creazione di un gruppo di secchi che contiene più oggetti come un secchio.