Operacje CRUD dla MongoDB w PHP

Spisie treści
Aplikacje internetowe zazwyczaj skupiają się na czterech podstawowych operacjach, które muszą wykonać na swoim systemie trwałości lub Bazy danych, te operacje są uważane za kluczowe podczas nauki programowania dla tego środowiska, do których się odnosimy Twórz, czytaj, aktualizuj i usuwaj znany również jako CRUD za jego akronim w języku angielskim.
MongoDB dzięki sterownikowi za PHP, pozwala nam wykonać te cztery operacje w bardzo prosty sposób, będąc jednak kierownikiem Nierelacyjne bazy danych, nie możemy popaść w błąd polegający na traktowaniu wszystkich rzeczy tak, jakbyśmy używali systemu relacyjnego, takiego jak MySQL lub PostgreSQL.
WymaganiaAby śledzić ten samouczek, musimy mieć wersję MongoDB w naszym środowisku testowym, oprócz pobrania i aktywacji odpowiedniego sterownika dla PHP, aby uzyskać więcej informacji o tym, jak spełnić te wymagania, zapoznaj się z następującym samouczkiem.
MongoDB został stworzony, aby być bardzo wydajnym w transakcjach i operacjach, w ten sposób możesz rozwiązywać rzeczywiste problemy bez utraty wydajności. A CRUD sam w sobie nie wymaga dużej mocy obliczeniowej, ale gdy tysiące żądań przychodzą do nas Baza danych w krótkim czasie możemy zobaczyć jak MongoDB pomaga nam utrzymać wydajność.
Kolekcje i dokumenty są bardzo potężnymi bytami, ponieważ bez zdefiniowanej struktury możemy przechowywać dane, które chcemy, zachowując czysty i uporządkowany obraz, dodatkowo możemy uzyskać dostęp do danych w prostych zapytaniach, które w modelach relacyjnych mogłyby zabierać do nas zapytania pośrednie, wiele tabel.
ten Bazy danych w MongoDB są znane jako kolekcje, dlatego nie możemy ich traktować jako Bazy danych tradycyjne, jeśli nie jako zbiór dokumentów, które są pogrupowane pod wyróżnikiem z nazwą.
Tworzenie kolekcjiAby stworzyć kolekcję nie potrzebujemy żadnego specjalnego polecenia, po prostu za pomocą tego samego polecenia, które wybieramy, jeśli nie istnieje, MongoDB Będzie odpowiedzialny za stworzenie nowego o podanej przez nas nazwie.
Ta prostota ułatwia nam pracę, a także zmniejsza ilość kodu, który musimy umieścić w naszych aplikacjach. Zobaczmy na poniższym obrazku przykładowy kod, za pomocą którego możemy wybrać kolekcję w MongoDB:

Tutaj widzimy, jak najpierw tworzymy obiekt klasy Mongo (), jest to uwzględniane podczas instalacji odpowiedniego sterownika, a następnie po prostu przez użycie obiektu i wpisanie nazwy Baza danych jest zaznaczony lub utworzony. W tym momencie musimy być ostrożni, ponieważ MongoDB nie zwróci błędu, jeśli Baza danych nie istnieje, po prostu utworzy nowy, więc musimy dwukrotnie sprawdzić nazwy, które piszemy.
Wreszcie możemy stworzyć kolekcję wewnątrz Baza danych zwane wskazówkami, a dzięki temu będziemy mieli podstawę, na której będziemy prowadzić nasze działania CRUD.
W celu przeprowadzenia innych operacji CRUD Najpierw musimy mieć dane, dlatego pierwszą rzeczą, której się nauczymy, jest tworzenie dokumentów lub wkładek do rekordów, jak najlepiej odpowiada naszemu językowi technicznemu.
Dzięki kierowcy MongoDBMusimy po prostu stworzyć aranżację lub tablicę, ze strukturą i niezbędnymi danymi dla naszego nowego rekordu, a następnie wywołać metodę wstawić () metoda połączenia. Nie musimy mieć zdefiniowanej struktury ani podążać za nią według wzorca, jeśli dokument ma pole, a inny nie, nie ma to wpływu na proces.
Zobaczmy na poniższym obrazku kod źródłowy wyjaśniający powyższy proces:

Istnieje alternatywa dla metody wstawić () i jest metodą ratować (), różnica polega na tym, że ratować () jeśli zostanie określony unikalny identyfikator, który istnieje, istniejący rekord zostanie zaktualizowany o nowe dane.
W społeczności programistów sugerują więcej współpracy z ratować () co z wstawić () generować kod, który można ponownie wykorzystać, jednak decyzja należy do każdego z nich.
Domyślnie metoda wstawiania w MongoDB jest asynchroniczny, oznacza to, że podczas gdy Baza danych wstawiasz lub aktualizujesz rekord PHP kontynuuje wykonanie bez awarii. W wyniku tego zachowania aplikacja działa szybciej, nawet jeśli nie działa aparat bazy danych.
Ponieważ to zachowanie nie zawsze będzie dla nas przydatne, możemy wymusić na nim zachowanie synchroniczne, przekazując parametr bezpieczny podczas wykonywania operacji spowoduje to: PHP czekaj na odpowiedź od MongoDB przed kontynuowaniem wykonywania jego instrukcji. Struktura parametrów bezpieczny jest następująca:
$ collection-> insert ($ adres, tablica ('safe' => true));

Domyślnie i o ile nie określimy inaczej, MongoDB automatycznie generuje klucze główne dokumentów pod nazwą _ID, podczas robienia wstawić () synchronicznie klucz jest ustawiany i umieszczany w tablicy, którą właśnie wstawiliśmy.
Jeśli więc chcemy wiedzieć, jaki jest unikalny identyfikator, musimy tylko sprawdzić tę właściwość tablicy, jeśli będziemy postępować zgodnie z poprzednim przykładem, wystarczyłoby tylko wykonać następujące czynności:
$ id = $ kolekcja ['_ id'];

Przechodzimy teraz do drugiej operacji, która polega na odczytaniu informacji, które posiadamy w naszych dokumentach lub Bazy danych. Tutaj możemy tworzyć zapytania o klucz podstawowy bezpośrednio lub o dowolną inną kombinację właściwości naszego dokumentu.
Aby przeprowadzić wyszukiwanie, po prostu używamy metody znaleźćjeden () i do tego przekażemy tablicę ze wszystkimi elementami, które będziemy filtrować. Zobaczmy na poniższym obrazie zapytanie używające klucza podstawowego i inne używające innych właściwości dokumentu:

Jeśli zauważymy tutaj, aby wyszukać według klucza podstawowego, pierwszą rzeczą, którą robimy, jest utworzenie obiektu typu MongoId i jesteś zdumiony jego wartością, jest to klucz do prawidłowego działania wszystkiego. Z drugiej strony, podczas zapytania o właściwości, wystarczy umieścić wartość wewnątrz tablicy bez konieczności tworzenia obiektów.
Domyślny MongoDB zwróci kompletny dokument po znalezieniu dopasowania, więc jeśli nie chcemy z niego więcej niż jednej lub kilku danych, musimy określić to w drugim parametrze, który jest tablicą właściwości lub pól, które chcemy , zobaczmy w poniższym kodzie, jak można to zrobić:
$ wynik = $ kolekcja-> findone (tablica ('_id' => $ id), tablica ('imię', 'nazwisko'));

Podczas umieszczania poprzedniego kodu zmienna wynikowa będzie miała tablicę zawierającą tylko właściwości imienia i nazwiska dokumentu, który spełnia kryteria wyszukiwania.
Przechodzimy teraz do trzeciej operacji, jest to aktualizacja dokumentu już utworzonego w naszej kolekcji, tutaj musimy być ostrożni, ponieważ jeśli nie umieścimy prawidłowego formularza, możemy skończyć na nadpisaniu oryginalnego dokumentu zamiast aktualizowania lub dodawania właściwości .
Aby uniknąć nieporozumień, zaleca się stosowanie $ zestaw który jest operatorem, który mówi MongoDB że jeśli parametr istnieje, zostanie zaktualizowany o przesłaną wartość, a jeśli nie istnieje, zostanie utworzony. Pozwala nam to uniknąć błędów w naszej aplikacji, a jeszcze lepiej umożliwia nam dostarczenie naszej aplikacji pożądanej funkcjonalności. Zobaczmy, jak to działa:

POWIĘKSZAĆ

Zdaliśmy sobie wtedy sprawę, jak możemy zmienić wartość nieruchomości miejskiej w tym przypadku, jednak gdyby nie istniała ona w rejestrze, zostałaby wygenerowana bez zmiany tego, co już tam istnieje.
Jest coś wyjątkowego, co możemy zrobić w MongoDB a tego nie da się zrobić w silniku relacyjnym, a jest to możliwość dodaj tablice w naszych dokumentach, dzięki temu możemy dodawać listy wartości w ramach właściwości, dzięki czemu możemy generować coraz bardziej złożone i kompletne dokumenty na nasze potrzeby, a wszystko to bez konieczności wpływania na ogólną strukturę innych dokumentów, które współistnieją w tym samym zbiorze.
To ostatnia operacja, usuwanie jest bardzo proste, prawie tyle samo lub więcej niż dodawanie lub aktualizowanie, po prostu szukamy kryterium lub filtru usuwania, ładujemy go do tablicy i wykonujemy metodę usunąć ().
Jedyne, o czym musimy pamiętać, to to MongoDB usunie wszystkie dokumenty spełniające to kryterium, dlatego jeśli chcemy usunąć tylko jeden musimy użyć właściwości tylko jeden i umieść go w Prawdziwe. Zobaczmy poniżej kod do usunięcia dokumentu:

Na tym kończymy ten samouczek, widzieliśmy w prosty, ale funkcjonalny sposób, jak możemy uwzględnić CRUD na nierelacyjnej strukturze, takiej jak MongoDB z PHP. Jeśli uda nam się to opanować, będziemy tworzyć wysokowydajne i bardzo elastyczne aplikacje, które pomogą nam zaimponować naszym użytkownikom.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave