Odrębne zapytanie MongoDB

Odrębne zapytanie MongoDB
„Wyraźna” funkcja MongoDB jest odrzucana w celu zidentyfikowania każdego rekordu, zignorowania duplikatów i wyświetlania tylko tych unikalnych. Dlatego ten przewodnik pomaga użyć zapytania funkcji wyraźnych () na konsoli MongoDB.

Przykład 1: Wyświetl unikalne wartości pola z wielu rekordów

Przed zrobieniem czegoś w MongoDB Shell upewnij się, że Twoja baza danych ma swoją kolekcję, która również zawiera pewne rekordy; Kolekcje działają jak stoły w MongoDB. Jeśli go nie masz, wygeneruj go w narzędziu wiersza polecenia MongoDB za pomocą prostej metody „CreateCollection” w instrukcji, która zaczyna się od słowa kluczowego „DB”. Argument metody CreateCollection () bierze nazwę kolekcji jako „unikalny” ciąg.

Test> db.CreateCollection („unikalny”)

Bez posiadania żadnych rekordów w bazie danych, nie będziemy w stanie przeprowadzić transakcji za pośrednictwem zapytań. Dlatego po utworzeniu pustej „unikalnej” kolekcji w MongoDB, wkładamy do niej kilka zapisów. W celu wprowadzenia wielu rekordów jednocześnie funkcja „Wstaw” MongoDB można odrzucić pod nazwą kolekcji „unikalnej”. Aby wstawić wiele rekordów, trzymaj wszystkie rekordy w nawiasach kwadratowych „[]” podczas używania nawiasów kręconych „”, aby oddzielić je od drugiego w nawiasach kwadratowych. Na razie wstawiamy w sumie 8 rekordów, z których każdy ma trzy pola - id, nazwisko i wiek. Te rekordy są doskonale dodawane, ponieważ wyjście wyświetlane na załączonym zdjęciu pokazuje potwierdzenie. Powtarzają się „te same” wartości dla pola „Nazwa” i pola „wiek” gdzieś w tych 8 rekordach.

Test> db.Unikalny.wstaw ([id: 1, nazwa: „ana”, wiek: 40, id: 2, nazwa: „Bryan”, wiek: 40,
… Id: 3, nazwa: „Paul”, wiek: 44, id: 4, nazwa: „Bryan”, wiek: 40,
… Id: 5, nazwa: „Paul”, wiek: 40, id: 6, nazwa: „Paul”, wiek: 45,
… Id: 7, nazwa: „Bryan”, wiek: 20, id: 8, nazwa: „Peter”, wiek: 45])

Możesz bardzo łatwo znaleźć i wyświetlić nowo wstawiane rekordy z kolekcji bazy danych, odrzucając funkcję „Znajdź” w instrukcji. Ta funkcja używa słowa kluczowego „DB”, a następnie nazwy kolekcji „unikalnej” i funkcji „Znajdź” z pustymi nawiasami.

Test> db.Unikalny.znajdować()

Teraz, gdy mamy kolekcję z wieloma rekordami, możemy użyć kolekcji „unikalnej” w naszej ilustracji, aby omówić użycie „wyraźnego” zapytania. Stąd zapytanie zaczyna się od tego samego słowa kluczowego „DB”, a następnie nazwy kolekcji „unikalnej” i kończy się na funkcji „wyraźnej”. Funkcja wyraźnego () zawiera nazwę określonego pola kolekcji w jego argumencie, aby uzyskać i wyświetlać unikalne rekordy, które nie są powtarzane nawet raz. Powiedzmy, że chcemy rzucić okiem na wszystkie unikalne rekordy z pola „Nazwa” kolekcji „unikalnej”. Dlatego używamy pola „Nazwa” w argumencie funkcji „odrębnej” w ramach następującej instrukcji wymienionej. Wyjście tego zapytania wyświetla tylko nazwy z pola „Nazwa”, które są unikalne. Jeśli nazwa jest powtarzana wiele razy, wyświetla ją tylko raz na wyjściu jak skrzyżowanie.

Test> db.Unikalny.wyraźny („nazwa”);

Ten sam krok jest powtarzany dla pola „wiekowego” kolekcji „unikalnej”, aby uczynić wszystkich wieków bez powtórzenia. W zamian otrzymujemy cztery unikalne wartości z rzędu.

Test> db.Unikalny.odrębny („wiek”);

Przykład 2: Wyświetl unikalne rekordy z wielu zagnieżdżonych rekordów

Teraz, gdy skończyliśmy z rekordami jednoliniowymi, aby uzyskać unikalne wartości z konkretnego pola kolekcji, jesteśmy gotowi uzyskać unikalne wartości z zagnieżdżonych zapisów „unikalnej” kolekcji, która jest dokumentem w polu dokumentu. W tym celu aktualizujemy kolekcję „unikalną” i dodajemy cztery nowe rekordy, z których każda zawiera w niej zagnieżdżoną wartość „danych”. Pole „Data” zawiera dwa pola w nim i tworzy zagnieżdżony dokument w MongoDB. Ta sama funkcja „Wstaw” jest używana w zapytaniu z „unikalną” nazwą kolekcji. Wszystkie te cztery rekordy są pomyślnie dodawane. Wyjście potwierdzenia pokazano na następujący obraz:

Test> db.Unikalny.insert ([id: 9, nazwa: „tim”, dane: wiek: 40, wynik: 50,
… Id: 10, nazwa: „Tim”, dane: wiek: 40, wynik: 55,
… Id: 11, nazwa: „TEM”, dane: wiek: 10, wynik: 50,
… Id: 12, nazwa: „tom”, dane: wiek: 40, wynik: 55]))

Po uruchomieniu instrukcji funkcji „Znajdź” MongoDB otrzymujemy elementy „unikalnej” kolekcji na ekranie powłoki w kolejności rosnącej pola „ID”. Przechodząc na listę 12 rekordów, znajdujemy niedawno dodane 4 rekordy w tym wyjściu, jak pokazano następująco. Teraz, gdy spojrzałeś na 4 ostatnie rekordy unikalnej kolekcji i masz doświadczenie w identyfikowaniu unikalnych rekordów za pośrednictwem rekordów pojedynczych linii, dowiesz się o uzyskaniu unikalnych rekordów z pól typu dokumentów.

Test> db.Unikalny.znajdować()

Załóżmy, że chcesz uzyskać wszystkie unikalne wartości z pola „Wynik” pola „Data” w kolekcji „unikalnej”. Aby użyć funkcji „odrębnej” do identyfikacji i wyświetlania wszystkich wartości raz (w ogóle nie powtarzanych), musimy użyć nazwy pola „danych” wraz z jego polem wewnętrznym, który jest wyświetlany „wynik jest„ wynik ". Oba te pola są połączone przez „kropkę”, aby uzyskać wartości pola wewnętrznego za pomocą jego zewnętrznej nazwy pola. Ogólna składnia zapytania jest taka sama - słowo kluczowe „DB”, a następnie „unikalna” nazwa kolekcji i funkcja „odrębna” z jego argumentami. Wyjście wykonania tego zapytania wyświetla tylko dwie wartości z reszty czterech, wybierając tylko 1 wartość z duplikatów.

Test> db.Unikalny.odrębne („Dane.Wynik")

To samo dzieje się w polu „wieku”, które znajduje się w polu „Dane” typu dokumentu. Poniższe dane wyjściowe pokazuje tylko dwa rekordy z reszty czterech rekordów:

Test> db.Unikalny.odrębne („Dane.Wiek")

Wniosek

Porównując nasze prawdziwe scenariusze z dziedziną programowania, doświadczyliśmy najprostszej i najłatwiejszej podróży, aby uzyskać wiedzę na temat „wyraźnej” funkcji MongoDB w tym artykule. Wprowadzający akapit przewodnika dotyczy tego porównania i użyciu funkcji wyraźnej () w środowisku MongoDB. Dzięki demonstrowanym ilustracjom wiemy teraz, jak użyć odrębnej funkcji, aby uzyskać wartości tylko raz na powładzie.