MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Samouczek dotyczący podstaw MongoDB

MongoDB to baza danych NoSQL. Pod NoSQL parasol umieściliśmy wszystkie te bazy danych, które nie używają języka SQL do przeszukiwania danych.

Kluczowe cechy MongoDB

MongoDB to bardzo przyjazna dla JavaScript baza danych. Udostępnia API JavaScript, którego możemy użyć do tworzenia baz danych i kolekcji obiektów (zwanych dokumentami ).

Jest bez schematu , co oznacza, że ​​nie musisz wstępnie definiować struktury danych przed ich zapisaniem.

W MongoDB możesz przechowywać dowolny obiekt, nie martwiąc się o poszczególne pola, które składają się na ten obiekt i jak je przechowywać. Każesz MongoDB przechować ten obiekt.

Dane są przechowywane w formacie podobnym do JSON, ale ulepszonym, aby umożliwić przechowywanie więcej niż tylko podstawowych typów danych.

Instalacja

Przejdźmy dalej i zainstalujmy MongoDB. Możesz skorzystać z jednego z wielu dostawców chmury, którzy oferują dostęp do instancji MongoDB, ale ze względu na naukę zainstalujemy ją sami.

Używam komputera Mac, więc instrukcje instalacji w tym samouczku odnoszą się do tego systemu operacyjnego.

Otwórz terminal i uruchom:

brew tap mongodb/brew
brew install mongodb-community

To wszystko.

Instrukcje nie były zbyt długie ani skomplikowane, zakładając, że wiesz, jak korzystać z terminala i jak zainstalować Homebrew.

Instalacja mówi nam to:

To have launchd start mongodb now and restart at login:
  brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Możesz uruchomić MongoDB raz i uruchomić go na zawsze jako usługę działającą w tle (to, co wolę), albo uruchomić go tylko wtedy, gdy tego potrzebujesz, uruchamiając to drugie polecenie.

Domyślna konfiguracja MongoDB jest następująca:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Dzienniki są przechowywane w /usr/local/var/log/mongodb/mongo.log a baza danych jest przechowywana w /usr/local/var/mongodb .

Domyślnie nie ma kontroli dostępu, każdy może czytać i zapisywać w bazie danych.

Muszla Mongo

Najlepszym sposobem na eksperymentowanie z MongoDB i rozpoczęcie interakcji z nim jest uruchomienie mongo program, który uruchamia powłokę MongoDB.

Możesz teraz wpisać dowolne polecenie, które Mongo rozumie.

Utwórz bazę danych

Kiedy zaczynasz, Mongo tworzy bazę danych o nazwie test . Uruchom db w powłoce, aby podać nazwę aktywnej bazy danych

Aby zmienić bazę danych, po prostu napisz use newname i newname baza danych zostanie natychmiast utworzona, a powłoka przełączy się na jej używanie.

Użyj show databases aby wyświetlić dostępne bazy danych:

Jak widać, something baza danych nie jest wymieniona, tylko dlatego, że nie ma jeszcze w niej kolekcji. Stwórzmy jeden.

Kolekcje

W MongoDB kolekcja jest odpowiednikiem tabeli bazy danych SQL.

Tworzysz kolekcję w bieżącej bazie danych za pomocą db.createCollection() Komenda. Pierwszym argumentem jest nazwa bazy danych, a jako drugi parametr można przekazać obiekt opcji.

Gdy to zrobisz, show databases wyświetli listę nowej bazy danych i show collections wyświetli listę kolekcji.

Możesz również utworzyć nową kolekcję, używając jej jako właściwości db obiekt i wywołanie insert() aby dodać obiekt do kolekcji:

db.dogs.insert({ name: 'Roger' })

Lista obiektów w kolekcji

Aby wyświetlić obiekty dodane do kolekcji, użyj find() metoda:

Jak widać, istnieje dodatkowy _id właściwość dla rekordu, który dodaliśmy. To jest automatycznie generowane dla nas przez MongoDB.

Teraz dodaj więcej psów:

db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })

Wywołanie db.dogs.find() da nam wszystkie wpisy, podczas gdy możemy przekazać parametr do filtrowania i pobierania określonego wpisu, na przykład za pomocą db.dogs.find({name: 'Roger'}) :

find() metoda zwraca kursor, na którym musisz wykonać iterację.

Istnieje inna metoda, która jest przydatna, gdy wiesz, że otrzymasz tylko jeden rekord, a mianowicie findOne() i jest używany w ten sam sposób. Jeśli do zapytania pasuje wiele rekordów, zwróci tylko pierwszy.

Aktualizowanie rekordów

Aby zaktualizować rekord, możesz użyć update() metoda na kolekcji:

Usuwanie rekordów

Możesz usunąć rekord, wywołując remove() w kolekcji, przekazując obiekt, aby pomóc go zidentyfikować:

Aby usunąć wszystkie wpisy z kolekcji, przekaż pusty obiekt:

db.dogs.remove({})

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zabezpieczyć pole hasła w Mongoose/MongoDB, aby nie zwracało się w zapytaniu, gdy wypełniam kolekcje?

  2. Jak mogę połączyć się z MongoDB Atlas za pomocą Robomongo?

  3. MongoDB :znajdź wartość w tablicy z wieloma kryteriami

  4. Jak przekonwertować właściwość w MongoDB z tekstu na typ daty?

  5. MongoDB — Zapytanie o kolekcję