Grupa MongoDB według wielu pól

Grupa MongoDB według wielu pól

"Baza danych MongoDB odgrywa ważną rolę w przechowywaniu i manipulacji danych. Aby zorganizować dane, tworzymy grupy, aby zebrać ten sam rodzaj danych w jednym miejscu. Grupowanie może znajdować się w różnych atrybutach, zarówno z zmiennej liczby, jak i jakiejkolwiek innej funkcji. Ten samouczek wyjaśni tworzenie grupy zgodnie z różnymi dziedzinami dokumentów.

Aby wdrożyć zjawisko grup według wielu pól, musimy mieć pewne dane w bazie danych. Najpierw utworzymy bazę danych. Odbywa się to poprzez deklarowanie nazwy bazy danych za pomocą słowa kluczowego „Użyj.„Do tej implementacji używamy bazy danych„ Demo."

>> Użyj demo

Po zakończeniu tworzenia bazy danych dane zostaną włożone do bazy danych. A do wprowadzania danych użyliśmy do tworzenia „kolekcji”, są to kontenery, które odgrywają ważną rolę w przechowywaniu w nich nieograniczonych danych. Następnie możemy tworzyć wiele kolekcji w jednej bazie danych. Tutaj utworzymy bazę danych o nazwie „Informacje."

>> db.CreateCollection („Info”)

Odpowiedź MongoDB brzmi: „OK”; To potwierdzenie tworzenia kolekcji. Dane w kolekcji są wprowadzane do wiersza według wiersza. Dlatego wstawymy dane do kolekcji. Ponieważ dane te będą wykorzystywane w przykładach do tworzenia grup zgodnie z różnymi dziedzinami, dlatego wprowadziliśmy wiele wierszy. Za każdym razem, gdy inny identyfikator jest przypisywany do każdego wiersza.

>> db.informacje.InserTone („name”: „savid”,
„Wiek”: 28,
"Płeć męska",
„Kraj”: „Stany Zjednoczone Ameryki”)

Podobnie wszystkie dane zostaną wstawione. Możesz zobaczyć wszystkie wstawione dane za pomocą polecenia Find ()

>> db.informacje.znajdować().ładny()

Przykład 1: Grupa według wielu pól/atrybutów

Kiedy mamy duży zestaw danych w bazie danych, ale chcemy zobaczyć kilka z nich, w tym celu znaleziono grupy $. W tym przykładzie utworzymy grupę, aby zobaczyć niektóre szczególne atrybuty z kolekcji. Współczynnik grupy opiera się na operacji zagregowanej. Zastosowana jest agregowana operacja, aby podsumować dane zgodnie ze wspólnymi dziedzinami. Znak dolara „$” oznacza zmienną. Teraz zastosuj zapytanie do powyższej kolekcji informacji.

Grupa w zależności od identyfikatora zostanie utworzona. A następnie wybrane są tylko dokumenty wieku i płci. Podczas gdy całe dane, w tym nazwa i kraj, są usuwane. Jest to w jakiś sposób filtr używany do ograniczenia wyświetlania danych.

>> db.informacje.agregate ([$ grupa: _id: wiek: „$ wiek”, płeć: „$ gender”])))

Widać, że zgrupowaliśmy każdy wiersz zgodnie z ID, ograniczając dane do dwóch atrybutów.

Przykład 2: Grupa przez wiele pól, stosując warunek

Odnosi się to do grupowania dokumentów według określonego warunku. Grupa zostanie utworzona na dwóch atrybutach, a po utworzeniu grupy dodamy zmienną liczby, aby policzyć występowanie wartości określonego dokumentu. A także dodaliśmy kolejność sortowania.

Najpierw wyświetlmy dokumenty w naszej kolekcji „Nowe.„Stworzyliśmy kolekcję i dodaliśmy do niej wcześniej dane, wykonując te same kroki opisane powyżej. Będziemy wyświetlać wszystkie elementy w kolekcji za pośrednictwem funkcji Find ().

Zapytanie będzie najpierw zawierać część grupy. Grupa jest tworzona na ID; Uniwersytet i poziom to dwa podstawowe atrybuty, które chcemy wyświetlić. Zmienna, której używamy, otrzymuje wartość z kolekcji, a następnie przypisuje ją do zmiennej zapytania. Wszystkie wartości i warunki nie są pisane bezpośrednio w poleceniu.

Po utworzeniu grupy stosuje się warunek; ma to liczyć i obliczyć sumę zgodnie z poziomami każdego dokumentu. Następnie ta odpowiedź zostanie ułożona w kolejności malejącej. Odbywa się to za pomocą funkcji sort (). Ta funkcja zawiera tylko dwa parametry; Dla wartości rosnącej wynosi 1, a dla zejścia jest to -1.

>> db.nowy.Aggregate ([$ grupa: _id: „University”: „$ University”, „poziom”: „$ poziom”, „poziomount”: "$ sum": 1, "$ sort" : „poziomount”:-1])

Zamówienie zstępujące pokaże, że większa ilość poziomu zostanie wyświetlona najpierw, a następnie mniejszy jest wyświetlany po dokumencie poziomu.

Przykład 3: MongoDB Bucket Group według wielu pól

Jak nazwa wskazuje, że grupy są znalezione zgodnie z wiadrem. Odbywa się to poprzez tworzenie agregacji wiadra. Agregacja wiadra to proces kategoryzacji dokumentów w grupy. Ta grupa działa jak wiadra. Każdy dokument jest podzielony w zależności od konkretnego wyrażenia.

Aby rozwinąć tę koncepcję, przyjrzymy się stworzonej przez nas kolekcji, a teraz zastosujemy do tego polecenia. Tworzona jest kolekcja „losowania”, która przechowuje podstawowe informacje dotyczące osoby. Wcześniej wyświetliśmy wszystkie 4 wiersze wprowadzone do kolekcji.

Na powyższych danych zastosujemy polecenie, aby utworzyć wiadro (grupę), mając rok jako atrybut dla grupowania danych. Stworzyliśmy również granice, w których wspomniany jest rok urodzenia i śmierci. Warunki zastosowane w tym poleceniu obejmują zmienną liczby do zliczenia liczby wystąpień. Zastosowaliśmy tutaj również metodę konkatenacji, aby połączyć zarówno pierwsze, jak i drugie nazwiska jako struny. A także rok urodzenia będzie wyświetlany. Identyfikator zależy od roku.

Kiedy obliczamy to zapytanie, wynikowa wartość pokaże, że dwa wiersze są pogrupowane w zależności od utworzonych granic wieku.

Wniosek

Funkcja grupowania MongoDB w zależności od więcej niż pojedynczego pola jest opracowana w tym artykule poprzez wykazanie działalności agregowanej operacji w tworzeniu grup. Każda funkcja grupy jest niekompletna bez funkcji zagregowanej. Funkcja grupy jest stosowana bezpośrednio przez różne pola, aby ograniczyć ekspozycję całych danych. Grupowanie za pomocą wielu pól odbywa się również poprzez zastosowanie określonego warunku. Ostatecznie opisaliśmy tworzenie grupy kubełkowej, która zawiera więcej elementów, takich jak wiadro.