Utwórz kolekcję
Najpierw wyszukajmy już istniejące bazy danych w naszym MongoDB. W tym celu otworzymy powłokę MongoDB i uruchomić instrukcję „pokaż DBS” w obszarze zapytań zgodnie. Wyjście tej instrukcji pokazuje 3 wbudowane bazy danych o różnych rozmiarach, gdy pracujemy w manekinie „Test”.
Test> Pokaż DBSKorzystając z instrukcji „Użyj” wraz z nazwą bazy danych „Test”, możesz przejść do dowolnej bazy danych, jak to zrobiliśmy poniżej. Wyjście pokazuje, że już używamy bazy danych „testowych”.
Test> Użyj testuWyświetlajmy wszystkie dostępne kolekcje bazy danych „testowych” za pośrednictwem zapytania „Pokaż kolekcje”. Szczegóły wyjściowe nic nie pokazuje, ponieważ nie mamy teraz kolekcji.
test> Pokaż kolekcje;Tworzymy nową kolekcję o nazwie „Test” w bazie danych „Test”, który zostanie wykorzystany dalej. W tym celu wypróbowaliśmy zapytanie „DB” z funkcją „CreateCollection” MongoDB. Status wyjściowy „OK: 1” pokazuje, że kolekcja jest tworzona pomyślnie.
Test> db.CreateCollection („Test”)Przykład nr 01:
Czas zacząć od naszego pierwszego przykładu, dodając niektóre rekordy do kolekcji „testowej”, którą właśnie stworzyliśmy. Aby to zrobić, użyjemy funkcji „Wstaw” MongoDB w tym samym zapytaniu „DB” wraz z nazwą kolekcji „Test”. Dodany rekord zawiera w sumie 3 pól. Dwa pola znajdują się w tablicy i.E „PersonalDetails” i „AcademicRecord” zawierają podfamy. Zastosowanie nawiasów kręconych pokazuje całkowitą liczbę rekordów w kolekcji i całkowitą liczbę pól w określonym polu. Rekordy zostały doskonale dodane.
Test> db.Test.wstaw (nazwa: „tina”, personalDetails: [wiek: 44, e -mail: "[email protected] "],Aby uzyskać wszystkie rekordy wyświetlane w powładzie MongoDB, będziemy używać funkcji Find () w tej samej instrukcji po nazwie kolekcji, która również podąża za funkcją foreach (). Funkcja foreach () drukuje rekordy w formacie JSON, jak pokazano poniżej.
Test> db.Test.znajdować().Foreach (printJson)Czas użyć operatora „rozmiaru”, aby wyświetlić rekord tylko z określoną liczbą pól. Więc wykorzystaliśmy go w funkcji Find (), aby uzyskać rekord, w którym pole PersonalDetails ma 2 osobne rekordy pola, każdy rekord w nawiasach . Dane wyjściowe nic nie pokazuje, ponieważ żaden rekord nie ma 2 pól w polu PersonalDetails.
Test> db.Test.Znajdź (PersonalDetails: $ size: 2)Po ustawieniu wartości operatora „rozmiaru” na 1 i wykonaniu zaktualizowanej instrukcji, mamy cały rekord z jego zagnieżdżonymi pola wyświetlonymi na naszym ekranie powłoki MongoDB, jak poniżej. Powód tego wyświetlacza jest jasny: PersonalDetails ma 1 rekord zgodnie z nawiasami .
Test> db.Test.Znajdź (PersonalDetails: $ size: 1)Przykład nr 02:
Dodajmy kolejny rekord tego samego formatu w kolekcji „testu”, aby sprawdzić, czy operator rozmiaru działa na wielu rekordach, czy nie. Oczekiwano, że to samo zapytanie do wstawki doda rekordy dla osoby „BEBA”. Chociaż dodaliśmy więcej niż jedno pole w ramach PersonalDetails i AcademicRecord, dodanie tych pola w jednej parie nawiasów kręconych uważa je za jeden rekord.
Test> db.Test.insert (nazwa: „beba”, personalDetails: [wiek: 44, e -mail: "[email protected] ", miasto:„ California ”], AcademicRecord: [kwalifikacja:„ MS ”, cgpa: 3.9])Po dodaniu drugiego rekordu wypróbowaliśmy to samo zapytanie, aby wyświetlić rekordy, które mamy w kolekcji „Test”. Oba rekordy były wyświetlane w standardowym formacie tablic w MongoDB.
Test> db.Test.znajdować().ładny()Wykonajmy zapytanie o funkcję „Znajdź”, aby wyświetlić rekordy kolekcji testowej, wykorzystując wartość operatora „$ rozmiar” ustawionego na „3”, który został zastosowany do pola PersonalDetails. Ponieważ pole PersonalDetails nie zawiera na razie więcej niż 1, dlatego wyjście jest zerowe.
Test> db.Test.Znajdź (PersonalDetails: $ size: 3).ładny()Teraz aktualizacja wartości operatora „$ set” do 1, jak pokazano z poniższego zapytania. Ustawa wartość „1” pokazuje, że jedyny rekord zostanie pokazany na ekranie konsoli, na którym pole „Peronaldetail” ma w sobie jeden rekord. Jak dodaliśmy oba główne rekordy, trzymaj pojedyncze pola w polu I PersonalDetails.mi. , oba rekordy są wyświetlane.
Test> db.Test.Znajdź (PersonalDetails: $ size: 1).ładny()Przykład nr 03:
Włóżmy nowy rekord w kolekcji „Test” za pomocą funkcji „Wstaw”. Tym razem decydujemy się na dodanie 3 pól w polu PersonalDetails tej kolekcji, a dziedzina „AcademicRecord” zawiera w niej 2 rekordy. Będziemy na nim zastosować operator „rozmiaru”.
Test> db.Test.wstaw (nazwa: „Paul”, PersonalDetails: [wiek: 43, e -mail: „[email protected] ", City:" Texas "], AcademicRecord: [kwalifikacja:" Phd ", cgpa: 4]))Teraz, gdy dodaliśmy zagnieżdżony rekord w kolekcji „testu”, będziemy wyświetlać go na ekranie konsoli za pomocą instrukcji funkcji Find (). Aby wyświetlić konkretny rekord, musimy wspomnieć o nazwie dowolnego pola, a następnie jego wartości w określonym rekordzie i.mi., Aby wyświetlić zapis, w którym pole „nazwa” ma swoją wartość „Paul”. Wyświetlono tylko ostatni dodany rekord.
Test> db.Test.Znajdź (nazwa: „Paul”)Zanurzmy się w przykładzie zapytania, aby wyświetlić rekordy z kolekcji „test”, aby wyświetlić tylko rekord z jego rozmiarem pola PersonalDetails równy 3 i.mi., mają w sobie 3 pól. W tym celu wypróbuj tę samą funkcję FINK (), a następnie nazwę pola „PersonalDetails”, operator „$ size” i funkcja Pretty (), aby wyświetlić wyjście w tablicy. Ostatnia płyta, którą właśnie dodaliśmy, został wyświetlony na konsoli, ponieważ jej tablica „PersonalDetails” zawiera 3 rekordy terenowe.
Test> db.Test.Znajdź (PersonalDetails: $ size: 3).ładny()Wniosek
Po przejrzeniu tego przewodnika wraz z trzema wymienionymi przykładami kodu, będziesz mógł wyszukać określone pole tablicy z określonego rekordu danych zawierającego tylko ustawioną liczbę elementów za pośrednictwem operatora wielkości MongoDB. Omówiliśmy, w jaki sposób można wykorzystać tablicę wielokrotnego pola w rekordzie, aby operator rozmiaru działał za pomocą instrukcji funkcji find (). W tych ilustracjach pole wielkości działa, aby uzyskać wszystkie wyświetlane rekordy, które mają określone pole z określoną liczbą rekordów.