Spisie treści
Każda baza danych w MongoDB składa się z kolekcji, które są odpowiednikami RDBMS lub relacyjnej bazy danych składającej się z tabel SQL. Każda baza danych przechowuje zebrane dane w postaci dokumentów, co jest odpowiednikiem tabel przechowujących dane w wierszach.Chociaż przechowuje dane wierszy w zestawie kolumn, dokument ma strukturę JSON (znaną jako BSON w MongoDB). Wreszcie sposób, w jaki mamy wiersze w wierszu SQL, który ma pola w MongoDB.
Odpowiedniki między zapytaniami sql i zapytaniami Mondodb
załóżmy, że w poprzedniej bazie mysql zobaczymy, jak mapować i konwertować zapytania
Utwórz stół lub kolekcję
W MongoDB nie ma potrzeby jawnego tworzenia struktury kolekcji, jak to robimy w przypadku tabel z zapytaniem CREATE TABLE. Struktura dokumentu jest tworzona automatycznie, gdy w kolekcji pojawi się pierwsza wstawka. Możesz jednak utworzyć pustą kolekcję za pomocą polecenia createCollection.
Mysql
CREATE TABLE `customers` (`id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL,` city` varchar (20) NOT NULL, PRIMARY KEY (`id`))
MongoDB
db.createCollection ("klienci")
Aby dodać rekordy danych
MYSQL
WSTAW W „Klienci” (identyfikator, nazwa, miasto) WARTOŚCI (NULL, Fernan, Barcelona);
MongoDB
db.clientes.insert ({nazwa: "Fernan", miasto: Barcelona "})
Pokaż wszystkie rekordy
Mysql
WYBIERZ * Z `klientów`
MongoDB
baz.klientów.znajdź ()
Wyszukaj klienta według nazwy
Mysql
SELECT * FROM `klienci` WHERE` name` = 'Fernan'
MongoDB
db.clientes.find ({nazwa: "Fernan"})
Teraz dodamy więcej kryteriów, aby pobrać klienta według nazwy i miasta. Pola kryteriów określone za pomocą przecinków reprezentują warunek logiczny AND. Dlatego w tym zestawieniu wyszukane zostaną dokumenty spełniające oba kryteria.
Mysql
SELECT * `FROM` klientów` WHERE `name` = 'Fernan' AND` miasto` = 'Barcelona'
MongoDB
db.clientes.find ({nazwa: "Fernan", miasto: "Barcelona"})
Pokaż wszystkie rekordy w tabeli klientów posortowane rosnąco według nazwy
Mysql
WYBIERZ * Z `klientów` ***** według nazwy ASC
MongoDB
db.clientes.find ().sort ({nazwa: 1})
W celu ograniczenia liczby dokumentów do zwrotu stosuje się limitowaną metodę określania liczby dokumentów.
Mysql
WYBIERZ * Z LIMITU „KLIENTÓW” 10
MongoDB
db.clients.find().limit (10)
Aby pominąć pewną liczbę rekordów, używana jest funkcja pomijania w MongoDB. Na przykład poniższa instrukcja ogranicza 10 rekordów i pomija pierwszych pięć.
Mysql
WYBIERZ * Z `postów` LIMIT 10 PRZESUNIĘCIE 5
MongoDB
db.clients.find ().limit (10) .pomiń (5)
Dla metody aktualizacji określone są kryteria wyboru dokumentów. Pierwszy parametr to identyfikacja rekordu, drugi parametr określa faktyczną operację aktualizacji do wykonania. Na przykład poniższe zapytanie wybiera wszystkie dokumenty o nazwie Carlos i ustawia ich miasto jako Madryt.
Jedna różnica polega na tym, że domyślnie kwerenda aktualizacji MongoDB aktualizuje tylko jeden rekord i pierwsze dopasowanie w dokumencie. Aby zaktualizować wszystkie odpowiednie dokumenty, musimy zaoferować trzeci parametr, który określa multiple jako true, wskazując, że chcemy zaktualizować wiele dokumentów.
Mysql
UPDATE klientów SET city = "Madrid" WHERE name = 'Carlos'
MongoDB
Zaktualizuj wszystkie dopasowane
db.clientes.update ({name: "Carlos"}, {$ set: {city: "Madrid"}}, {multi: true})
Zaktualizuj pierwszy pasujący rekord
db.clientes.update ({nazwa: "Carlos"}, {zestaw $: {miasto: "Madryt"}})Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt