HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
NoSQL database usage is growing at a stunning 50% per year, as organizations discover NoSQL's potential to address even the most challenging Big Data and real-time database problems. Every NoSQL database is different, but one is the most popular by far: MongoDB.
Now, in just 24 lessons of one hour or less, you can learn how to leverage MongoDB's immense power. Each short, easy lesson builds on all that's come before, teaching NoSQL concepts and MongoDB techniques from the ground up.
Sams Teach Yourself NoSQL with MongoDB in 24 Hours covers all this, and much more:
Introduction 1
How This Book Is Organized 1
Code Examples 2
Special Elements 2
Q&A, Quiz, and Exercises 3
Part I: Getting Started with NoSQL and MongoDB
HOUR 1: Introducing NoSQL and MongoDB 5
What Is NoSQL? 6
Choosing RDBMS, NoSQL, or Both 7
Understanding MongoDB 8
MongoDB Data Types 10
Planning Your Data Model 11
Summary 17
Q&A 18
Workshop 18
HOUR 2: Installing and Configuring MongoDB 21
Building the MongoDB Environment 21
Accessing the MongoDB HTTP Interface 26
Accessing MongoDB from the Shell Client 27
Scripting the MongoDB Shell 31
Summary 34
Q&A 35
Workshop 35
HOUR 3: Using JavaScript in the MongoDB Shell 37
Defining Variables 37
Understanding JavaScript Data Types 38
Outputting Data in a MongoDB Shell Script 40
Using Operators 40
Implementing Looping 44
Creating Functions 49
Understanding Variable Scope 52
Using JavaScript Objects 53
Manipulating Strings 56
Working with Arrays 60
Adding Error Handling 65
Summary 67
Q&A 67
Workshop 67
Part II: Implementing NoSQL in MongoDB
HOUR 4: Configuring User Accounts and Access Control 69
Understanding the Admin Database 69
Administrating User Accounts 70
Configuring Access Control 78
Summary 83
Q&A 83
Workshop 83
HOUR 5: Managing Databases and Collections from the MongoDB Shell 85
Understanding the Database and Collection Objects 85
Managing Databases 91
Managing Collections 96
Implementing the Example Dataset 100
Summary 104
Q&A 104
Workshop 104
HOUR 6: Finding Documents in the MongoDB Collection from the MongoDB Shell 107
Understanding the Cursor Object 107
Understanding Query Operators 109
Getting Documents from a Collection 112
Finding Specific Sets of Documents 117
Summary 122
Q&A 122
Workshop 123
HOUR 7: Additional Data-Finding Operations Using the MongoDB Shell 125
Counting Documents 125
Sorting Results Sets 128
Limiting Result Sets 130
Finding Distinct Field Values 138
Summary 141
Q&A 141
Workshop 141
HOUR 8: Manipulating MongoDB Documents in a Collection 143
Understanding the Write Concern 143
Configuring Database Connection Error Handling 144
Getting the Status of Database Write Requests 145
Understanding Database Update Operators 146
Adding Documents to a Collection in the MongoDB Shell 149
Updating Documents in a Collection from the MongoDB Shell 151
Saving Documents in a Collection Using the MongoDB Shell 155
Upserting Documents in Collections Using the MongoDB Shell 158
Deleting Documents from a Collection Using the MongoDB Shell 161
Summary 163
Q&A 164
Workshop 164
HOUR 9: Utilizing the Power of Grouping, Aggregation, and Map Reduce 167
Grouping Results of Find Operations in the MongoDB Shell 167
Using Aggregation to Manipulate the Data During Requests from the MongoDB Shell 171
Applying Map Reduce to Generate New Data Results Using the MongoDB Shell 178
Summary 183
Q&A 184
Workshop 184
Part III: Using MongoDB in Applications
HOUR 10: Implementing MongoDB in Java Applications 185
Understanding MongoDB Driver Objects in Java 185
Finding Documents Using Java 194
Counting Documents in Java 201
Sorting Results Sets in Java 203
Summary 207
Q&A 207
Workshop 207
HOUR 11: Accessing Data from MongoDB in Java Applications 209
Limiting Result Sets Using Java 209
Finding a Distinct Field Value in Java 218
Grouping Results of Find Operations in Java Applications 221
Using Aggregation to Manipulate the Data During Requests from Java
Applications 225
Summary 228
Q&A 229
Workshop 229
HOUR 12: Working with MongoDB Data in Java Applications 231
Adding Documents from Java 231
Removing Documents from Java 236
Saving Documents from Java 239
Updating Documents from Java 241
Upserting Documents from Java 245
Summary 249
Q&A 249
Workshop 249
HOUR 13: Implementing MongoDB in PHP Applications 251
Understanding MongoDB Driver Objects in PHP 251
Finding Documents Using PHP 259
Counting Documents in PHP 265
Sorting Result Sets in PHP 267
Summary 270
Q&A 270
Workshop 270
HOUR 14: Accessing Data from MongoDB in PHP Applications 273
Limiting Result Sets Using PHP 273
Finding Distinct Field Values in PHP 281
Grouping Results of Find Operations in PHP Applications 283
Using Aggregation to Manipulate the Data During Requests from PHP Applications 287
Summary 290
Q&A 290
Workshop 290
HOUR 15: Working with MongoDB Data in PHP Applications 293
Adding Documents from PHP 293
Removing Documents from PHP 297
Saving Documents from PHP 299
Updating Documents from PHP 302
Upserting Documents from PHP 305
Summary 308
Q&A 309
Workshop 309
HOUR 16: Implementing MongoDB in Python Applications 311
Understanding MongoDB Driver Objects in Python 311
Finding Documents Using Python 318
Counting Documents in Python 324
Sorting Result Sets in Python 326
Summary 329
Q&A 329
Workshop 329
HOUR 17: Accessing Data from MongoDB in Python Applications 331
Limiting Result Sets Using Python 331
Finding Distinct Field Value in Python 339
Grouping Results of Find Operations in Python Applications 341
Using Aggregation to Manipulate the Data During Requests from Python Applications 344
Summary 347
Q&A 347
Workshop 348
HOUR 18: Working with MongoDB Data in Python Applications 349
Adding Documents from Python 349
Removing Documents from Python 353
Saving Documents from Python 355
Updating Documents from Python 358
Upserting Documents from Python 361
Summary 364
Q&A 364
Workshop 365
HOUR 19: Implementing MongoDB in Node.js Applications 367
Understanding MongoDB Driver Objects in Node.js 367
Finding Documents Using Node.js 377
Counting Documents in Node.js 383
Sorting Results Sets in Node.js 385
Summary 388
Q&A 389
Workshop 389
HOUR 20: Accessing Data from MongoDB in Node.js Applications 391
Limiting Result Sets Using Node.js 391
Finding Distinct Field Value in Node.js 400
Grouping Results of Find Operations in Node.js Applications 402
Using Aggregation to Manipulate the Data During Requests from Node.js Applications 406
Summary 409
Q&A 409
Workshop 410
HOUR 21: Working with MongoDB Data in Node.js Applications 411
Adding Documents from Node.js 411
Removing Documents from Node.js 416
Saving Documents from Node.js 419
Updating Documents from Node.js 423
Upserting Documents from Node.js 427
Summary 431
Q&A 431
Workshop 431
Part IV: Additional MongoDB Concepts
HOUR 22: Database Administration Using the MongoDB Shell 433
Working with Databases and Collections 433
Working with Indexes 438
Understanding Performance and Diagnostic Tasks 443
Repairing a MongoDB Database 453
Backing Up MongoDB 454
Summary 455
Q&A 456
Workshop 456
HOUR 23: Implementing Replication and Sharding in MongoDB 459
Applying Replication in MongoDB 459
Implementing Sharding in MongoDB 468
Summary 479
Q&A 479
Workshop 479
HOUR 24: Implementing a MongoDB GridFS Store 481
Understanding the GridFS Store 481
Implementing a GridFS in the MongoDB Shell 482
Implementing a MongoDB GridFS Using the Java MongoDB Driver 484
Implementing a MongoDB GridFS Using the PHP MongoDB Driver 489
Implementing a MongoDB GridFS Using the Python MongoDB Driver 494
Implementing a MongoDB GridFS Using the Node.js MongoDB Driver 497
Summary 502
Q&A 502
Workshop 502
Index 505