Copyright of these videos belong to MongoDB, Inc.
- WEEK 1-INTRODUCTION
- WEEK 2-CRUD
- WEEK 3-SCHEMA DESIGN
- WEEK 4-PERFORMANCE
- WEEK 5-AGGREGATION FRAMEWORK
- WEEK 6-APPLICATION ENGINEERING
- WEEK 7-CASE STUDIES
- Welcome to M101J
- What is MongoDB?
- MongoDB Relative to Relational
- Overview of Building an App with MongoDB
- Quick Introduction to the Mongo Shell
- Introduction to JSON
- System Requirements
- Installing MongoDB (mac)
- Installing MongoDB (windows)
- Installing and Using Maven
- The MongoDB Java Driver
- Intro to the Spark Web Application Framework
- Intro to the Freemarker Templating Engine
- Spark and Freemarker Together
- All Together Now: MongoDB, Spark and Freemarker
- Spark: Handling GET requests
- Spark: Handling POST requests
- MongoDB is Schemaless
- JSON Revisited
- JSON Subdocuments
- JSON Spec
- Introduction to Our Class Project, The Blog
- Blog in Relational Tables
- Blog in Documents
- Introduction to Schema Design
- Introduction to Week 2
- CRUD and the Mongo Shell
- Secrets of the Mongo Shell
- BSON Introduced
- Inserting Docs
- Introduction to findOne
- Introduction to find
- Querying Using field Selection
- Querying Using $gt and $lt
- Inequalities on Strings
- Using regexes, $exists, $type
- Using $or
- Using $and
- Querying Inside Arrays
- Using $in and $all
- Queries with Dot Notation
- Querying, Cursors
- Counting Results
- Wholesale Updating of a Document
- Using the $set Command
- Using the $unset Command
- Using $push, $pop, $pull, $pushAll, $pullAll, $addToSet
- Upserts
- Multi-update
- Removing Data
- Multi-update
- getLastError (MongoDB v2.4 and earlier)
- Java Driver: Representing Documents
- Java Driver: Insert
- Java Driver: find, findOne, count
- Java Driver: Query Criteria
- Java Driver: field Selection
- Java Driver: Dot Notation
- Java Driver: Sort, Skip and Limit
- Java Driver: Update and Remove
- Java Driver: findAndModify
- Blog, Internals
- Blog, Session Management
- Blog, User Interface
- Introduction to Week 3
- MongoDB Schema Design
- Relational Normalization
- Mongo Design for Blog
- Alternative Schema for Blog
- Living Without Constraints
- Living Without Transactions
- One to One Relations
- One to Many Relations
- Many to Many Relations
- Multikeys
- Benefits of Embedding
- Trees
- When to Denormalize
- Handling Blobs
- Learn more about GridFS
- Introduction to Week 3
- What is an ODM?
- Field mappings, indexes and constraints in Morphia
- CRUD Operations in Morphia
- Sidebar: Importing from a Twitter Feed
- Introduction to Week 4
- Indexes
- Creating Indexes
- Discovering Indexes
- Multikey Indexes
- Multikey Continued
- Index Creation Option, Unique
- Index Creation, Removing Dups
- Index Creation, Sparse
- Index Creation, Background
- Using Explain
- When is an Index Used?
- How Large is Your Index?
- Index Cardinality
- Index Selectivity
- Hinting an Index
- Hinting in Java
- Efficiency of Index Use
- Geospatial Indexes
- Geospatial Spherical
- Text Searches in MongoDB
- Logging Slow Queries
- Profiling
- Mongotop
- Mongostat
- Sharding Overview
- Introduction to Week 5
- Simple Aggregation Example
- The Aggregation Pipeline
- Simple Example Expanded
- Compound Grouping
- Using a document for _id
- Aggregation Expressions
- Using $sum
- Using $avg
- Using $addToSet
- Using $push
- Using $max and $min
- Double $group stages
- Using $project
- Using $match
- Using $sort
- Using $limit and $skip
- Revisiting $first and $last
- Using $unwind
- $unwind example
- Double $unwind
- Mapping between SQL and Aggregation
- Some Common SQL examples
- Limitations of the Aggregation Framwork
- Introduction to Week 6
- Introduction to Replication
- Replica Set Elections
- Write Consistency
- Creating a Replica Set
- Replica Set Internals
- Failover and Rollback
- Connecting to a Replica Set from the Java Driver
- Bad Things Happen to Good Nodes
- Write Concern
- Network Errors
- Read Preferences
- Introduction to Sharding
- Building a Sharded Environment
- Implications of Sharding
- Sharding + Replication
- Choosing a Shard Key
- Introduction to Week 7
- Interview with Jon Hoffman, foursquare
- Interview with Ryan Bubinski, Codecademy
- WEEK 1-INTRODUCTION
- WEEK 2-CRUD and Administrative Commands
- WEEK 3-Performance
- WEEK 4-Replication
- WEEK 5-Replication Part 2
- WEEK 6-Scalability
- WEEK 7-Backup and Recovery
- Welcome to M102
- Introduction to the Course
- Introduction to Week 1
- Concepts
- Scaling
- SQL and Complex Transactions
- Documents Overview
- Instaling MongoDB(mac)
- Instaling MongoDB(windows)
- JSON Types
- JSON Syntax
- JSON Syntax 2
- Binary JSON
- BSON and applications
- Dynamic Schema
- What is the MongoDB shell
- Mongoimport
- Cursors Intruduction
- Query Language:Basic Concepts
- Query Languages:Projection
- Query Languages:Advantages of a Dynamic Schema
- Shell:Queries
- Sorting
- Query Languages:Cursors
- Deep Dive into the Course Going Forward
- Welcome to Week 2
- Introduction to Seek 2
- Insertion
- Update
- save() Command
- Partial Updates & Document Limits
- Removing Documents
- Multi Update
- Upsert
- Wire Protocol
- Bulk() Operations and Methods
- Common Commands
- db.runCommand()
- db.isMaster()
- db.serverStatus
- db.currrentOp() & db.killOp()
- collection.stats() & collection.drop()
- Review of Commands
- Welcome to Week 3
- Storage Engine:Introduction
- Storage Engine: MMAPv1
- MMAPv1: Ducoments and Data Files
- Storage Engine: WiredTiger
- createIndex(),getIndexes()& dropIndex()
- Collection Scans
- Index Notes
- Unique Indexes
- Sparse Indexes
- TTL Indexes
- Geospatial Indexes
- Text Indexes
- Backgrund Index Creation
- Explain Plans
- Covered Queries
- Read & Write Recap
- currentOp() & killOp() Revisited
- The Profiler
- mongostat and mongotop
- Welcome to Week 4
- Replication Overview
- Asynchrnous Replication
- Statement-based vs. Binary Replication
- Replication Concepts
- Automatic Failover
- Recovery
- Starting Replica Sets
- Initiating a Replica
- Replica Set Status
- Replica Set Commands
- Reading & Writing
- Failover
- Read Preference
- Read Preference Options
- Week 5 Introduction
- Reconfiguring a Replica Set
- Arbiters
- Priority Options
- Hidden Option & Slave Delay
- Voting Options
- Applied Reconfiguration
- Write Concern Principles
- Examing the 'w' Parameter
- Write Concern Use Cases & Patterns
- Reexaming the Page View Counter Pattern
- wtimeout & Capacity Planning
- Replica Sets in a Single Datacenter
- Replica Sets in Multiple Datacenters
- Replica Sets and Storage Engine Considerations
- Introduction to Week6
- Sharding & Data Distribution
- Replication with Sharding
- Chunks & Operations
- Sharding Processes
- Cluster Topology
- Running on localhost
- The Config Database
- Adding the Initial Shards
- Enable Sharding for a Collection
- Working with a Sharded Cluster
- Cardinality & Monotonic Shard Keys
- Shard Key Selection Example
- Process and Machine Layout
- Bulk Inserts and Presplitting
- Further Tips and Best Practices
- Introduction to Week7
- Overview of Security
- Security continued:Authentication and Authorization
- SSL and Keyfiles
- Security and Client
- Intra-cluster Security
- Overview of Backing Up
- Mongodump
- Filesystem Snapshotting
- Backing Up a Sharded Cluster
- Backup Strategies
- Additional Features of MongoDB
- GridFS
- Hardware Tips
- Additional Resources