Latest web development tutorials

MongoDB koncepcja analityczna

Czy nam się dowiedzieć, co baza danych powinna nauczyć się jednego z podstawowych pojęć w MongoDB podstawowej koncepcji jest to, że dokumenty, zbiory, bazy danych, tu wprowadzić jeden po drugim.

Poniższa tabela pomoże Ci łatwiej zrozumieć niektórych pojęć Mongo:

SQL Terminologia / Koncepcje MongoDB Termin / koncepcja Wyjaśnienie / Opis
baza danych baza danych baza danych
stół kolekcja tabeli bazy danych / Kolekcje
rząd dokument Zapis danych Line / Dokumentacja
kolumna pole Pole danych / Domain
wskaźnik wskaźnik wskaźnik
stół łączy Tabela łączy, MongoDB nie obsługuje
klucz podstawowy klucz podstawowy klucz podstawowy, MongoDB automatycznie _id pole jako klucz podstawowy

Przez następujące przykłady postać, możemy bardziej intuicyjne zrozumienie Mongo niektórych pojęć:


baza danych

MongoDB można utworzyć wiele baz danych.

Domyślna baza danych MongoDB jest "db", baza danych jest przechowywana w katalogu danych.

Pojedyncza instancja MongoDB może pomieścić wiele niezależnych baz danych, każdy z własnym zestawem uprawnień i różnych baz danych są również umieszczone w różnych plikach.

"Pokaż DBS", aby wyświetlić listę wszystkich danych.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
> 

Realizacja polecenia "db", aby wyświetlić bieżący obiekt bazy danych lub kolekcję.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
> 

Run "użyć" polecenie, można podłączyć do konkretnej bazy danych.

> use local
switched to db local
> db
local
> 

Przykłady wyżej polecenia, "Lokalny" jest to, że chcesz połączyć bazę danych.

W następnym rozdziale omówimy szczegółowo użycie MongoDB w poleceniu.

Baza danych jest również identyfikowany przez nazwę. Nazwa bazy danych może być dowolny z poniższych warunków UTF-8 string.

  • To nie może być pusty ciąg ( "").
  • Nie zawierają '' (spacja)., $, /, \ I \ 0 (null Yu Fu).
  • Powinno być pisane małymi literami.
  • Do 64 bajtów.

Niektóre nazwy baz danych są zastrzeżone i mogą bezpośrednio uzyskać dostęp do tych baz danych mają szczególną rolę.

  • admin: z punktu widzenia instytucji, która jest "root" w bazie. Jeśli dodasz użytkownika do bazy danych, użytkownik automatycznie dziedziczy wszystkie uprawnienia do bazy danych. Niektóre konkretne polecenia po stronie serwera można uruchamiać tylko z bazy danych, takie jak listy wszystkich bazy danych lub serwera.
  • lokalnych: dane nigdy nie zostanie skopiowany, może być stosowany do przechowywania dowolnego zbiór jest ograniczony do jednego lokalnego serwera
  • config: Gdy Mongo fragmentacji jest ustawiony, bazy danych config używane wewnętrznie do przechowywania informacji plaster.

plik

Dokumentacja jest klucz (klucz-wartość) z (tj BSON). Dokument MongoDB nie musi być podawana tego samego pola, to samo pole i nie wymaga tego samego typu danych, który jest relacyjna baza danych jest bardzo różna, MongoDB również bardzo widocznym elementem.

Prostym przykładem są następujące dokumenty:

{"site":"www.w3big.com", "name":"本教程"}

Poniższa tabela zawiera odpowiednie warunki RDBMS i MongoDB:

RDBMS MongoDB
baza danych baza danych
stół Ustaw
rząd plik
rząd pole
Wspólny Stół dokument wbudowania
klucz podstawowy Klucz podstawowy (MongoDB stanowi klucz do _id)
Usługi bazy danych i klienci
Mysqld / Oracle mongod
mysql / SQLPLUS Mongo

Należy pamiętać, że:

  1. par klucz / wartość dokumentu są sortowane.
  2. Dokument może być nie tylko wartość ciąg wewnątrz cudzysłowów może być także kilka innych typów danych (lub nawet cały osadzone dokumenty).
  3. MongoDB rozróżnić rodzaje i wrażliwa.
  4. Dokument MongoDB nie może mieć duplikaty kluczy.
  5. Kluczowym dokumentem jest ciągiem. Z nielicznymi wyjątkami, klucz można używać UTF-8 znaków.

Kluczowe dokumenty Naming Convention:

  • Klucz nie może zawierać \ 0 (znak null). Ten znak jest używany do wskazania końca wiązania.
  • . A $ mają być używane tylko szczególne znaczenie w pewnych okolicznościach.
  • Do podkreślenia "_" na początku klawiszy są zarezerwowane (nie jest to bezwzględnie konieczne).

Ustaw

MongoDB to grupa Dokument kolekcji, podobnie jak RDBMS (system zarządzania bazami danych relacyjnych: relacyjny system zarządzania bazą danych) w formie.

Kolekcja występuje w bazie danych, zbiór bez stałej strukturze, co oznacza, że ​​można wstawić do gromadzenia danych w różnych formatach i rodzajach, ale zwykle możemy wstawić zestaw danych będzie miało pewne znaczenie.

Na przykład, możemy udokumentować te różne struktury danych do kolekcji:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.w3big.com","name":"本教程","num":5}

Kiedy pierwszy dokument do kolekcji zostanie utworzona.

Uzasadnione nazwa kolekcji

  • Nazwa kolekcji nie może być pusty ciąg "."
  • Ustaw Nazwa nie może zawierać znaków \ ​​0 (null znaków), znak ten oznacza koniec zbiór nazwisk.
  • Ustaw Nazwa nie może być "system". Na początku, która jest zarezerwowana dla ustawionego systemu prefiksem.
  • Utworzonych przez użytkownika nazwa kolekcji nie może zawierać znaków zastrzeżonych. Niektóre sterowniki obsługują kolekcję zawierającą nazwę, to dlatego, że jakiś system generowane Kolekcja zawiera znak. Jeśli nie chcesz, aby uzyskać dostęp do kolekcji takiego systemu jest tworzony, w przeciwnym razie nie pojawiają się w nazwie $ środku.

Następujące przykłady:

db.col.findOne()

ograniczona kolekcje

Ograniczone są zbiory kolekcji stałej wielkości.

Posiada wysokie właściwości użytkowe i kolejka ważność (wygasły zgodnie z kolejnością wstawienia). Nieco podobna i "RRD" koncepcji.

Ograniczone zbiory są automatycznie wstawiane w celu utrzymania przedmiotów o wysokiej wydajności. Jest idealny do funkcji i podobnym standardzie kolekcji rejestrowania różnych, trzeba jawnie stworzyć kaucyjna zbieranie, zbiór określony rozmiar w bajtach. Zbiór wartości przestrzeni do przechowywania danych przypisanych wcześniej.

Należy zauważyć, że określony rozmiar pamięci bazy danych zawierającej informacje nagłówka.

db.createCollection("mycoll", {capped:true, size:100000})
  • W zakorkowanej kolekcji, można dodać nowe obiekty.
  • Może być aktualizowana, jednak obiekt nie będzie zwiększenie powierzchni magazynowej. Jeśli zwiększysz aktualizacja nie powiedzie się.
  • Baza danych nie pozwala na usunięcie. Użyj spadek () metoda, aby usunąć cały zbiór wierszy.
  • Uwaga: Po usunięciu, należy jawnie odtworzyć kolekcję.
  • W maszynach 32-bitowych, ograniczona Kolekcja jest największym 1E9 składowania (1x10 9) bajtów.

metadane

Informacja w bazie danych przechowuje się w bazie. Wykorzystują system przestrzeni nazw:

dbname.system.*

W nazw baz danych MongoDB <dbname> .system *, która zawiera wiele informacji o systemie, zbiorów specjalnych (kolekcja), w następujący sposób:

nazw Collection opis
dbname.system.namespaces Lista wszystkich obszarów nazw.
dbname.system.indexes Lista wszystkich indeksów.
dbname.system.profile Zawiera on podsumowanie danych (profil) informacji.
dbname.system.users Lista wszyscy użytkownicy mogą uzyskać dostęp do bazy danych.
dbname.local.sources Zawiera on kopię końcowego (Slave) informacji o serwerach i statusu.

Aby zmodyfikować obiekt w kolekcji System posiada następujące ograniczenia.

W {{}} system.indexes wstawiania danych, można utworzyć indeks. Ale poza tym informacje stół jest niezmienna (komenda specjalny wskaźnik spadku automatycznie aktualizuje odpowiednie informacje).

{{}} System.users są modyfikowalne. {{System.profile}} zostanie usunięty.


MongoDB typ danych

Poniższa tabela MongoDB kilka powszechnie stosowane typy danych.

Typy danych opis
sznur String. Przechowywanie danych powszechnie stosowane typy danych. W MongoDB, UTF-8 zakodowany ciąg jest legalne.
liczba całkowita wartości całkowitej. Jest używany do przechowywania wartości. W zależności od serwera, którego używasz, może być podzielony na 32-bitową lub 64-bitową.
Boolean Wartość logiczna. Do przechowywania wartości logiczne (prawda / fałsz).
podwójny Podwójnej precyzji wartość zmiennoprzecinkową. Do przechowywania wartości zmiennoprzecinkowych.
Min / Max klucze Minimalna wartość oraz wartość BSON (binarne JSON) Element a najwyższa wartość wskaźnika względnej.
tablice Na tablicy lub listy lub przechowywać wiele wartości dla klucza.
datownik Datownik. Modyfikować lub dodawać rekordy udokumentować określony czas.
przedmiot Dla osadzonych dokumentów.
Null Tworzy pustą wartość.
symbol Symbol. Ten typ danych jest zasadniczo równa typu łańcuchowego, ale różnica polega na tym, że jest zasadniczo na zastosowaniu specjalnych symboli wpisywanych języka.
data Data Godz. Format czasu UNIX używany do przechowywania bieżącej daty i czasu. Można określić własne data i czas: tworzony jest obiekt Date, napływające informacje o dacie.
ID obiektu ID obiektu. ID używany do tworzenia dokumentu.
Dane binarne danych binarnych. Do przechowywania danych binarnych.
kod Typ Tag. Kod JavaScript jest używany do przechowywania dokumentów.
wyrażenie regularne Wyrażenie regularne. Do przechowywania wyrażenie regularne.