Introduction |
|
1 | (4) |
|
How This Book Is Organized |
|
|
1 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
|
3 | (2) |
Part I: Getting Started with NoSQL and MongoDB |
|
|
Hour 1 Introducing NoSQL and MongoDB |
|
|
5 | (16) |
|
|
6 | (1) |
|
Choosing RDBMS, NoSQL, or Both |
|
|
7 | (1) |
|
|
8 | (2) |
|
|
10 | (1) |
|
|
11 | (6) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (3) |
|
Hour 2 Installing and Configuring MongoDB |
|
|
21 | (16) |
|
Building the MongoDB Environment |
|
|
21 | (5) |
|
Accessing the MongoDB HTTP Interface |
|
|
26 | (1) |
|
Accessing MongoDB from the Shell Client |
|
|
27 | (4) |
|
Scripting the MongoDB Shell |
|
|
31 | (3) |
|
|
34 | (1) |
|
|
35 | (1) |
|
|
35 | (2) |
|
Hour 3 Using JavaScript in the MongoDB Shell |
|
|
37 | (32) |
|
|
37 | (1) |
|
Understanding JavaScript Data Types |
|
|
38 | (2) |
|
Outputting Data in a MongoDB Shell Script |
|
|
40 | (1) |
|
|
40 | (4) |
|
|
44 | (5) |
|
|
49 | (3) |
|
Understanding Variable Scope |
|
|
52 | (1) |
|
|
53 | (3) |
|
|
56 | (4) |
|
|
60 | (5) |
|
|
65 | (2) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
67 | (2) |
Part II: Implementing NoSQL in MongoDB |
|
|
Hour 4 Configuring User Accounts and Access Control |
|
|
69 | (16) |
|
Understanding the Admin Database |
|
|
69 | (1) |
|
Administrating User Accounts |
|
|
70 | (8) |
|
Configuring Access Control |
|
|
78 | (5) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
83 | (2) |
|
Hour 5 Managing Databases and Collections from the MongoDB Shell |
|
|
85 | (22) |
|
Understanding the Database and Collection Objects |
|
|
85 | (6) |
|
|
91 | (5) |
|
|
96 | (4) |
|
Implementing the Example Dataset |
|
|
100 | (4) |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
104 | (3) |
|
Hour 6 Finding Documents in the MongoDB Collection from the MongoDB Shell |
|
|
107 | (18) |
|
Understanding the cursor Object |
|
|
107 | (2) |
|
Understanding Query Operators |
|
|
109 | (3) |
|
Getting Documents from a Collection |
|
|
112 | (5) |
|
Finding Specific Sets of Documents |
|
|
117 | (5) |
|
|
122 | (1) |
|
|
122 | (1) |
|
|
123 | (2) |
|
Hour 7 Additional Data-Finding Operations Using the MongoDB Shell |
|
|
125 | (18) |
|
|
125 | (3) |
|
|
128 | (2) |
|
|
130 | (8) |
|
Finding Distinct Field Values |
|
|
138 | (3) |
|
|
141 | (1) |
|
|
141 | (1) |
|
|
141 | (2) |
|
Hour 8 Manipulating MongoDB Documents in a Collection |
|
|
143 | (24) |
|
Understanding the Write Concern |
|
|
143 | (1) |
|
Configuring Database Connection Error Handling |
|
|
144 | (1) |
|
Getting the Status of Database Write Requests |
|
|
145 | (1) |
|
Understanding Database Update Operators |
|
|
146 | (3) |
|
Adding Documents to a Collection in the MongoDB Shell |
|
|
149 | (2) |
|
Updating Documents in a Collection from the MongoDB Shell |
|
|
151 | (4) |
|
Saving Documents in a Collection Using the MongoDB Shell |
|
|
155 | (3) |
|
Upserting Documents in Collections Using the MongoDB Shell |
|
|
158 | (3) |
|
Deleting Documents from a Collection Using the MongoDB Shell |
|
|
161 | (2) |
|
|
163 | (1) |
|
|
164 | (1) |
|
|
164 | (3) |
|
Hour 9 Utilizing the Power of Grouping, Aggregation, and Map Reduce |
|
|
167 | (18) |
|
Grouping Results of Find Operations in the MongoDB Shell |
|
|
167 | (4) |
|
Using Aggregation to Manipulate the Data During Requests from the MongoDB Shell |
|
|
171 | (7) |
|
Applying Map Reduce to Generate New Data Results Using the MongoDB Shell |
|
|
178 | (5) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
184 | (1) |
Part III: Using MongoDB in Applications |
|
|
Hour 10 Implementing MongoDB in Java Applications |
|
|
185 | (24) |
|
Understanding MongoDB Driver Objects in Java |
|
|
185 | (9) |
|
Finding Documents Using Java |
|
|
194 | (7) |
|
Counting Documents in Java |
|
|
201 | (2) |
|
Sorting Results Sets in Java |
|
|
203 | (4) |
|
|
207 | (1) |
|
|
207 | (1) |
|
|
207 | (2) |
|
Hour 11 Accessing Data from MongoDB in Java Applications |
|
|
209 | (22) |
|
Limiting Result Sets Using Java |
|
|
209 | (9) |
|
Finding a Distinct Field Value in Java |
|
|
218 | (3) |
|
Grouping Results of Find Operations in Java Applications |
|
|
221 | (4) |
|
Using Aggregation to Manipulate the Data During Requests from Java Applications |
|
|
225 | (3) |
|
|
228 | (1) |
|
|
229 | (1) |
|
|
229 | (2) |
|
Hour 12 Working with MongoDB Data in Java Applications |
|
|
231 | (20) |
|
Adding Documents from Java |
|
|
231 | (5) |
|
Removing Documents from Java |
|
|
236 | (3) |
|
Saving Documents from Java |
|
|
239 | (2) |
|
Updating Documents from Java |
|
|
241 | (4) |
|
Upserting Documents from Java |
|
|
245 | (4) |
|
|
249 | (1) |
|
|
249 | (1) |
|
|
249 | (2) |
|
Hour 13 Implementing MongoDB in PHP Applications |
|
|
251 | (22) |
|
Understanding MongoDB Driver Objects in PHP |
|
|
251 | (8) |
|
Finding Documents Using PHP |
|
|
259 | (6) |
|
Counting Documents in PHP |
|
|
265 | (2) |
|
Sorting Result Sets in PHP |
|
|
267 | (3) |
|
|
270 | (1) |
|
|
270 | (1) |
|
|
270 | (3) |
|
Hour 14 Accessing Data from MongoDB in PHP Applications |
|
|
273 | (20) |
|
Limiting Result Sets Using PHP |
|
|
273 | (8) |
|
Finding Distinct Field Values in PHP |
|
|
281 | (2) |
|
Grouping Results of Find Operations in PHP Applications |
|
|
283 | (4) |
|
Using Aggregation to Manipulate the Data During Requests from PHP Applications |
|
|
287 | (3) |
|
|
290 | (1) |
|
|
290 | (1) |
|
|
290 | (3) |
|
Hour 15 Working with MongoDB Data in PHP Applications |
|
|
293 | (18) |
|
Adding Documents from PHP |
|
|
293 | (4) |
|
Removing Documents from PHP |
|
|
297 | (2) |
|
Saving Documents from PHP |
|
|
299 | (3) |
|
Updating Documents from PHP |
|
|
302 | (3) |
|
Upserting Documents from PHP |
|
|
305 | (3) |
|
|
308 | (1) |
|
|
309 | (1) |
|
|
309 | (2) |
|
Hour 16 Implementing MongoDB in Python Applications |
|
|
311 | (20) |
|
Understanding MongoDB Driver Objects in Python |
|
|
311 | (7) |
|
Finding Documents Using Python |
|
|
318 | (6) |
|
Counting Documents in Python |
|
|
324 | (2) |
|
Sorting Result Sets in Python |
|
|
326 | (3) |
|
|
329 | (1) |
|
|
329 | (1) |
|
|
329 | (2) |
|
Hour 17 Accessing Data from MongoDB in Python Applications |
|
|
331 | (18) |
|
Limiting Result Sets Using Python |
|
|
331 | (8) |
|
Finding Distinct Field Value in Python |
|
|
339 | (2) |
|
Grouping Results of Find Operations in Python Applications |
|
|
341 | (3) |
|
Using Aggregation to Manipulate the Data During Requests from Python Applications |
|
|
344 | (3) |
|
|
347 | (1) |
|
|
347 | (1) |
|
|
348 | (1) |
|
Hour 18 Working with MongoDB Data in Python Applications |
|
|
349 | (18) |
|
Adding Documents from Python |
|
|
349 | (4) |
|
Removing Documents from Python |
|
|
353 | (2) |
|
Saving Documents from Python |
|
|
355 | (3) |
|
Updating Documents from Python |
|
|
358 | (3) |
|
Upserting Documents from Python |
|
|
361 | (3) |
|
|
364 | (1) |
|
|
364 | (1) |
|
|
365 | (2) |
|
Hour 19 Implementing MongoDB in Node.js Applications |
|
|
367 | (24) |
|
Understanding MongoDB Driver Objects in Node.js |
|
|
367 | (10) |
|
Finding Documents Using Node.js |
|
|
377 | (6) |
|
Counting Documents in Node.js |
|
|
383 | (2) |
|
Sorting Results Sets in Node.js |
|
|
385 | (3) |
|
|
388 | (1) |
|
|
389 | (1) |
|
|
389 | (2) |
|
Hour 20 Accessing Data from MongoDB in Node.js Applications |
|
|
391 | (20) |
|
Limiting Result Sets Using Node.js |
|
|
391 | (9) |
|
Finding Distinct Field Value in Node.js |
|
|
400 | (2) |
|
Grouping Results of Find Operations in Node.js Applications |
|
|
402 | (4) |
|
Using Aggregation to Manipulate the Data During Requests from Node.js Applications |
|
|
406 | (3) |
|
|
409 | (1) |
|
|
409 | (1) |
|
|
410 | (1) |
|
Hour 21 Working with MongoDB Data in Node.js Applications |
|
|
411 | (22) |
|
Adding Documents from Node.js |
|
|
411 | (5) |
|
Removing Documents from Node.js |
|
|
416 | (3) |
|
Saving Documents from Node.js |
|
|
419 | (4) |
|
Updating Documents from Node.js |
|
|
423 | (4) |
|
Upserting Documents from Node.js |
|
|
427 | (4) |
|
|
431 | (1) |
|
|
431 | (1) |
|
|
431 | (2) |
Part IV: Additional MongoDB Concepts |
|
|
Hour 22 Database Administration Using the MongoDB Shell |
|
|
433 | (26) |
|
Working with Databases and Collections |
|
|
433 | (5) |
|
|
438 | (5) |
|
Understanding Performance and Diagnostic Tasks |
|
|
443 | (10) |
|
Repairing a MongoDB Database |
|
|
453 | (1) |
|
|
454 | (1) |
|
|
455 | (1) |
|
|
456 | (1) |
|
|
456 | (3) |
|
Hour 23 Implementing Replication and Sharding in MongoDB |
|
|
459 | (22) |
|
Applying Replication in MongoDB |
|
|
459 | (9) |
|
Implementing Sharding in MongoDB |
|
|
468 | (11) |
|
|
479 | (1) |
|
|
479 | (1) |
|
|
479 | (2) |
|
Hour 24 Implementing a MongoDB GridFS Store |
|
|
481 | (24) |
|
Understanding the GridFS Store |
|
|
481 | (1) |
|
Implementing a GridFS in the MongoDB Shell |
|
|
482 | (2) |
|
Implementing a MongoDB GridFS Using the Java MongoDB Driver |
|
|
484 | (5) |
|
Implementing a MongoDB GridFS Using the PHP MongoDB Driver |
|
|
489 | (5) |
|
Implementing a MongoDB GridFS Using the Python MongoDB Driver |
|
|
494 | (3) |
|
Implementing a MongoDB GridFS Using the Node.js MongoDB Driver |
|
|
497 | (5) |
|
|
502 | (1) |
|
|
502 | (1) |
|
|
502 | (3) |
Index |
|
505 | |