Cos'è l'aggregazione in mongodb con esempio

Cos'è l'aggregazione in mongodb con esempio
I sistemi di gestione del database hanno anche alcune operazioni comuni supportate da database SQL e NOSQL. L'operazione di aggregazione è una di queste ed è supportata da diversi database relazionali e non relazionali. MongoDB è uno di quei database che hanno il supporto di questa operazione. L'aggregazione è un'operazione chiave in qualsiasi database che consente di elaborare i record di dati per ottenere risultati mirati. Con l'aiuto dell'aggregazione, gli utenti possono combinare diverse entità per formare un'unica entità significativa raggruppando i dati.

Le operazioni di aggregazione sono costituite da diverse espressioni che aiutano a raggruppare i dati per un output significativo. Ad esempio, un laptop, cellulari, gadget possono essere combinati in una singola entità, diciamo Technology_Store. Le entità sono combinate quando le singole entità non rappresentano nulla o non hanno significato.

Questo articolo fornisce una visione approfondita del metodo aggregato e delle espressioni supportate da questo metodo.

Come funziona la funzione aggregata in mongodb

In primo luogo, per l'aggregazione, si consiglia di comprendere la funzione aggregata; La sintassi di questa funzione è fornita di seguito:

> db.collezione.aggregato (operazione aggregata)

Nella sintassi, "collezione" E "operazione aggregata"Sono definiti dall'utente. IL "collezione"Il nome può essere qualsiasi cosa e"operazione aggregata"Può essere creato utilizzando diverse espressioni aggregate supportate da MongoDB. Poche espressioni aggregate ben note utilizzate sono elencate di seguito:

  • $ Sum: Questa espressione aggiunge i valori di un campo specifico in un documento.
  • $ min: Ottiene il valore minimo dai valori corrispondenti in tutti i documenti.
  • $ max: Funziona come $ min, tuttavia ottiene il valore massimo.
  • $ avg: Questa espressione viene utilizzata per calcolare la media dei valori dati in una raccolta
  • $ ultimo: Restituisce l'ultimo documento dal documento di origine
  • $ prima: Viene utilizzato per restituire il primo documento da un documento di origine
  • $ push: Questa espressione inserisce i valori in un array nel documento risultante (possono verificarsi duplicati durante l'utilizzo di $ push)

Come utilizzare una funzione aggregata in mongodb

In questa sezione, abbiamo fornito alcuni esempi che ti aiuteranno a comprendere il funzionamento dell'aggregazione in MongoDB.

Il nome di raccolta utilizzato in questo esempio è "lavoratori"E il contenuto al suo interno viene mostrato di seguito:

> db.lavoratori.Trovare().bello()

Come mostra la produzione, i lavoratori hanno campi: "Nome", "Designazione", "Dipartimento" E "stipendio".

Esempio 1: usando $ sum espressione

La seguente operazione di aggregazione raggrupperà i lavoratori rispetto al dipartimento associato e $ Sum L'espressione viene utilizzata per dare un numero totale di lavoratori in ciascun dipartimento:

Come mostra l'output che il comando ha classificato i lavoratori con rispetto ai dipartimenti associati:

> db.lavoratori.Aggregate ([$ Group: _id: "$ Dipartimento", total_workers: $ sum: 1])

Puoi raggruppare i dati anche in altri modi; Come se vuoi ottenere il numero di lavoratori rispetto alle loro designazioni; Puoi anche farlo utilizzando il comando di seguito:

Un risultato come questo può essere utile per ottenere il numero di lavoratori in diverse designazioni.

> db.lavoratori.Aggregate ([$ Group: _id: "$ designation", total_workers: $ sum: 1])

Esempio 2: usando l'espressione $ avg

In questo esempio, la raccolta è la stessa dell'esempio 1. Qui, $ avg L'espressione di aggregazione viene utilizzata per ottenere lo stipendio medio in ciascun dipartimento di lavoratori collezione. Nel nostro caso, la seguente funzione aggregata calcolerà lo stipendio medio dei lavoratori in "scrivere" E "video"Dipartimenti:

> db.lavoratori.Aggregate ([$ Group: _id: "$ Dipartimento", media: $ avg: "$ stipendio"])

Esempio 3: usando espressioni $ min e $ max

È possibile ottenere lo stipendio minimo specificando il $ min Espressione nel metodo aggregato: il comando di seguito stamperà lo stipendio minimo dei lavoratori in entrambi i dipartimenti:

> db.lavoratori.Aggregate ([$ Group: _id: "$ Dipartimento", min_salary: $ min: "$ stipendio"])

E il comando menzionato di seguito verificherà il massimo stipendio dei lavoratori raggruppandoli "designazione" saggio:

Come discusso in precedenza, per il calcolo dei valori massimi, $ max L'operazione viene utilizzata:

> db.lavoratori.Aggregate ([$ Group: _id: "$ designation", max_salary: $ max: "$ stipendio"])

Esempio 4: Utilizzo di $ Push Expression

Questo esempio spiega l'uso di $ push con il metodo aggregato in mongodb. L'espressione di $ push restituisce i dati come valori dell'array e viene utilizzata per ottenere risultati condizionali su dati raggruppati. Qui, in questo esempio, stiamo usando la raccolta "Tech_Store"E il seguente contenuto risiede al suo interno:

> db.Tech_Store.Trovare()

La collezione contiene un elenco di pochi prodotti e le loro date di scadenza. Il comando scritto di seguito eseguirà le seguenti azioni:

  • raggruppa i dati rispetto all'anno di scadenza di ciascun prodotto.
  • I documenti che cadono ogni anno verranno spinti utilizzando l'operatore $ push.
> db.Tech_Store.Aggregate ([$ Group: _id: Escary: $ Year: "$ Escary", ItemStoExpire: $ Push: Product: "$ Product", Quantity: "$ Qty"])).bello()

Esempio 5: Utilizzo di $ First e $ Last Expressions

Ci sono altre due espressioni ($ prima E $ ultimo) che può essere utilizzato nel metodo aggregato. Per l'esercizio di questi metodi, useremo un "Laptop"Collezione che contiene i seguenti documenti.

> db.Laptop.Trovare()

$ prima: Il primo operatore $ viene utilizzato per stampare l'ultimo valore dai dati raggruppati. Ad esempio, il comando scritto di seguito raggrupperà i dati secondo "Prodotto"Campo e poi il primo operatore $ visualizza gli articoli che verranno scaduti.

> db.Laptop.Aggregate ([$ Group: _id: "$ Product", ItemStoExpire: $ First: "$ Escary"]).bello()

$ ultimo: Usando $ ultimo, Puoi controllare l'ultimo valore di qualsiasi campo in dati raggruppati. Ad esempio, il comando sotto menzionato raggrupperà i dati rispetto al "Prodotto”Campo e il $ ultimo L'operatore viene quindi utilizzato per ottenere la data di scadenza (che si verifica alla fine) di ciascun prodotto.

> db.Laptop.Aggregate ([$ Group: _id: "$ Product", ItemStoExpire: $ Last: "$ Escary"]).bello()

Conclusione

MongoDB ha una vasta gamma di funzioni disponibili per eseguire operazioni specifiche su raccolte complete o un documento specifico in una raccolta. La funzione aggregata viene praticata di solito per ottenere il risultato calcolato della raccolta raggruppando i dati per recuperare entità significative. In questo post informativo, imparerai le basi del concetto di aggregazione in MongoDB e le espressioni utilizzate nell'aggregazione. Alla fine, vengono eseguiti alcuni esempi di aggregazione per mostrare l'implementazione della funzione aggregata in MongoDB seguito anche dall'esercizio delle sue espressioni.