MongoDB_w_akcji_mongod.pdf

(6505 KB) Pobierz
Tytuł oryginału: MongoDB in Action
Tłumaczenie: Robert Górczyński
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
ISBN: 978-83-283-1918-9
Original edition copyright © 2016 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2017 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/mongod.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres:
http://helion.pl/user/opinie/mongod
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa
Podziękowania
O książce
13
15
17
C
ZĘŚĆ
I
1.1.
1.2.
R
OZPOCZĘCIE PRACY
............................................................... 21
23
26
27
27
31
31
32
33
35
36
37
38
39
39
40
41
45
47
49
52
53
Serwer opracowany na potrzeby internetu
Kluczowe funkcje MongoDB
1.2.1. Model danych oparty na dokumencie
1.2.2. Zapytania ad hoc
1.2.3. Indeksy
1.2.4. Replikacja
1.2.5. Szybkość działania i niezawodność
1.2.6. Skalowanie
Podstawowy serwer MongoDB i jego narzędzia
1.3.1. Podstawowy serwer
1.3.2. Konsola JavaScript
1.3.3. Sterowniki bazy danych
1.3.4. Narzędzia powłoki
Dlaczego MongoDB?
1.4.1. MongoDB kontra inne bazy danych
1.4.2. Przykłady użycia i wdrożeń w
środowiskach
produkcyjnych
Wskazówki i ograniczenia
Historia MongoDB
Zasoby dodatkowe
Podsumowanie
Rozdział 1. Baza danych dla nowoczesnej sieci WWW
1.3.
1.4.
1.5.
1.6.
1.7.
1.8.
Rozdział 2. MongoDB i konsola JavaScript
2.1.
Zagłębiamy się w powłokę MongoDB
2.1.1. Uruchomienie powłoki
2.1.2. Bazy danych, kolekcje i dokumenty
2.1.3. Wstawianie i pobieranie danych
2.1.4. Uaktualnienie dokumentu
2.1.5. Usunięcie danych
2.1.6. Inne funkcje powłoki
55
56
56
57
58
60
64
65
Kup książkę
Poleć książkę
6
2.2.
Spis treści
Tworzenie indeksów i użycie ich w zapytaniach
2.2.1. Utworzenie ogromnej kolekcji
2.2.2. Indeksowanie i metoda explain()
Podstawowa administracja serwerem bazy danych
2.3.1. Pobieranie informacji o bazie danych
2.3.2. Jak działają polecenia?
Uzyskiwanie pomocy
Podsumowanie
66
66
68
73
73
75
76
77
2.3.
2.4.
2.5.
Rozdział 3. Tworzenie programów używających MongoDB
3.1.
MongoDB przez pryzmat języka Ruby
3.1.1. Instalacja sterownika i nawiązanie połączenia z MongoDB
3.1.2. Wstawianie dokumentów za pomocą języka Ruby
3.1.3. Zapytania i kursory
3.1.4. Operacje uaktualnienia i usunięcia
3.1.5. Polecenia bazy danych
Jak działają sterowniki?
3.2.1. Generowanie identyfikatora obiektu
Utworzenie prostej aplikacji
3.3.1. Konfiguracja
3.3.2. Zbieranie danych
3.3.3. Wyświetlenie zawartości archiwum
Podsumowanie
79
80
80
82
83
84
85
86
87
89
90
91
94
96
3.2.
3.3.
3.4.
C
ZĘŚĆ
II T
WORZENIE APLIKACJI W
M
ONGO
DB ....................................99
Rozdział 4. Dane oparte na dokumentach
4.1.
4.2.
Reguły projektowe schematu
Opracowanie modelu danych dla aplikacji typu e-commerce
4.2.1. Podstawy schematu
4.2.2. Użytkownicy i zamówienia
4.2.3. Opinie
Bazy danych, kolekcje i dokumenty w szczegółach
4.3.1. Bazy danych
4.3.2. Kolekcje
4.3.3. Dokumenty i operacje wstawiania
Podsumowanie
101
102
104
105
109
112
113
113
117
121
127
4.3.
4.4.
Rozdział 5. Tworzenie zapytań
5.1.
Zapytania w aplikacji typu e-commerce
5.1.1. Produkty, kategorie i opinie o produktach
5.1.2. Użytkownicy i zamówienia
Język zapytań w MongoDB
5.2.1. Selektory i kryteria zapytania
5.2.2. Opcje zapytania
Podsumowanie
129
130
130
133
134
135
149
152
5.2.
5.3.
Kup książkę
Poleć książkę
Spis treści
7
Rozdział 6. Agregacja
6.1.
6.2.
Ogólne omówienie frameworka agregacji
Przykład agregacji w aplikacji typu e-commerce
6.2.1. Produkty, kategorie i opinie
6.2.2. Użytkownik i zamówienie
Operatory potoku agregacji
6.3.1. Operator $project
6.3.2. Operator $group
6.3.3. $match, $sort, $skip i $limit
6.3.4. Operator $unwind
6.3.5. Operator $out
Modyfikacja dokumentów
6.4.1. Funkcje ciągu tekstowego
6.4.2. Funkcje arytmetyczne
6.4.3. Funkcje daty i godziny
6.4.4. Funkcje logiczne
6.4.5. Operatory zbioru
6.4.6. Pozostałe funkcje
Wydajność działania potoku agregacji
6.5.1. Opcje potoku agregacji
6.5.2. Funkcja explain() frameworka agregacji
6.5.3. Opcja allowDiskUse
6.5.4. Opcja cursor w agregacji
Inne możliwości agregacji
6.6.1. Funkcje .count() i .distinct()
6.6.2. Funkcja modelu MapReduce
Podsumowanie
153
154
156
157
164
168
168
169
171
171
172
172
173
174
175
175
176
177
178
179
179
183
184
185
185
185
188
6.3.
6.4.
6.5.
6.6.
6.7.
Rozdział 7. Uaktualnienia, operacje niepodzielne i usunięcia
7.1.
Krótkie omówienie procesu uaktualnienia dokumentu
7.1.1. Modyfikacja przez zastąpienie
7.1.2. Modyfikacja za pomocą operatora
7.1.3. Porównanie obu metod
7.1.4. Podjęcie decyzji — zastąpienie kontra operatory
Uaktualnienia w modelu typu e-commerce
7.2.1. Produkty i kategorie
7.2.2. Opinie o produkcie
7.2.3. Zamówienia
Niepodzielne przetwarzanie dokumentu
7.3.1. Zmiana stanu zamówienia
7.3.2. Zarządzanie produktami
Usunięcia i uaktualnienia w MongoDB w szczegółach
7.4.1. Opcje i typy uaktualnień
7.4.2. Operatory uaktualnienia
7.4.3. Polecenie findAndModify()
191
192
193
193
194
194
196
196
201
203
206
207
209
215
215
216
225
7.2.
7.3.
7.4.
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin