MongoDB - The Ultimate Administration and Developer's Guide
Join this course on MongoDB to learn everything about this highly popular database and query language from scratch, in the smallest details, and with plenty of practical examples!
MongoDB is one of the most important NoSQL databases that you can work with today. MongoDB is capable of handling large volumes of data, maximizing performance, and utilizing a flexible schema approach, providing you maximum flexibility in data modeling.
In this course, you will learn MongoDB from scratch. No prior experience with MongoDB or databases is required!
The curriculum is extensive and designed to take you from a beginner to an advanced level.
More
In detail, you will learn:
- ... how to design, develop, and administer a MongoDB database system using the latest version 6.0
- ... how to install and use MongoDB locally on Windows and Linux
- ... how to implement high availability in MongoDB using a replica set and work with it
- ... how to implement high scalability in MongoDB using sharding and work with it
- ... how to effectively perform data modeling
- ... how to ensure data security on database instances and work with it
- ... how to work with various database tools for backup/restore and statistical purposes
- ... how to perform CRUD (Create, Read, Update, Delete) operations in MongoDB databases
- ... how to effectively filter data
- ... how to work with Mongo shell
- ... how to work with different types of indexes in MongoDB
- ... how to enhance query performance using indexes (and how to use the right indexes!)
- ... how to use the amazing "Aggregation Framework" built into MongoDB
- ... and much more!
This course is hands-on — you will learn by working alongside me. We will work with a wide range of sample data and cases, and by the end of the course, you will have all the knowledge necessary to work with MongoDB in your next project!
Watch Online MongoDB - The Ultimate Administration and Developer's Guide
# | Title | Duration |
---|---|---|
1 | Welcome to the Course! | 08:22 |
2 | Introduction to NoSQL | 04:39 |
3 | Types of NoSQL Databases | 08:58 |
4 | Introduction to MongoDB | 03:19 |
5 | Difference between MongoDB and RDBMS | 03:24 |
6 | Introduction to CAP Theorem | 03:34 |
7 | Introduction to JSON | 07:11 |
8 | Introduction to BSON and Types | 05:08 |
9 | Introduction to MongoDB Document | 02:22 |
10 | MongoDB Installation Options | 04:59 |
11 | MongoDB Installation on Windows | 12:09 |
12 | MongoDB Installation on Linux (Ubuntu) | 15:38 |
13 | MongoDB Installation on Linux (Tarball) | 15:59 |
14 | Databases and Collections | 02:50 |
15 | Views and Capped Collections | 04:51 |
16 | What is MongoDB Shell | 05:39 |
17 | Configuring MongoDB Shell | 11:06 |
18 | Accessing the MongoDB Shell Help | 03:58 |
19 | Understanding Data Types in MongoDB Shell | 03:41 |
20 | Introduction to CRUD Operations | 01:33 |
21 | Creating Database and Collections | 17:15 |
22 | Insert Operation | 02:24 |
23 | Read (Query) Operation | 02:24 |
24 | Update Operation | 02:01 |
25 | Delete (Remove) Operation | 01:32 |
26 | Overview of Insert Methods | 01:02 |
27 | insert() Method | 07:25 |
28 | insertOne() Method | 05:29 |
29 | InsertMany() Method | 04:35 |
30 | _id Field | 02:15 |
31 | Inserting Complex Documents | 08:41 |
32 | Overview of Read Methods | 01:50 |
33 | findOne() Method | 05:43 |
34 | find() Method | 05:06 |
35 | Query Nested or Embedded Documents | 09:44 |
36 | Query an Array Field in Documents | 07:25 |
37 | Query an Array of Embedded Documents | 14:22 |
38 | Project Fields to Return from Query | 15:06 |
39 | Iterate the Cursor | 13:05 |
40 | Query and Projection Operators | 03:08 |
41 | Comparison Operators - $eq, $in, $ne, $nin | 23:30 |
42 | Comparison Operators - $gt, $gte, $lt, $lte | 10:06 |
43 | Logical operators - $and, $or | 19:38 |
44 | Logical operators - $not, $nor | 11:05 |
45 | Element Operators - $exists, $type | 19:33 |
46 | Evaluation Operators - $expr, $regex | 22:37 |
47 | Array Operators - $all, $elemMatch, $size | 23:31 |
48 | Projection Operators - $, $elemMatch | 21:38 |
49 | Overview of Update Methods | 01:30 |
50 | update() Method with $set Operator | 18:55 |
51 | update() Method with $unset Operator | 08:51 |
52 | updateOne() Method | 04:16 |
53 | updateMany() Method | 05:28 |
54 | replaceOne() Method | 05:01 |
55 | Update with Upsert Operations | 14:57 |
56 | Field Update Operators | 01:31 |
57 | $currentDate Operator | 12:12 |
58 | $rename Operator | 04:35 |
59 | $inc, $min, $max, $mul Operators | 19:43 |
60 | Array Update Operators | 01:18 |
61 | Placeholder Operator - $ | 07:54 |
62 | $addToSet Operator | 08:31 |
63 | $pop Operator | 06:32 |
64 | $pull, $pullAll Operators | 16:46 |
65 | $push Operator | 04:42 |
66 | $each Operator with $push and $addToSet Operators | 12:55 |
67 | Sort Array Elements using $sort+ $push Operators | 10:49 |
68 | Overview of Delete Methods | 01:27 |
69 | deleteOne() Method | 04:08 |
70 | deleteMany() Method | 04:25 |
71 | remove() Method | 08:12 |
72 | Dropping MongoDB Collections | 03:11 |
73 | Dropping MongoDB Databases | 04:36 |
74 | Overview of Additional CRUD Methods | 01:49 |
75 | findOneAndDelete() Method | 13:42 |
76 | findOneAndReplace() Method | 13:58 |
77 | findOneAndUpdate() Method | 14:17 |
78 | findAndModify() Method | 16:45 |
79 | bulkWrite() Method | 15:36 |
80 | Introduction to MongoDB Aggregation | 04:02 |
81 | Introduction to Aggregation Pipeline | 06:15 |
82 | Aggregation Pipeline Stages | 01:50 |
83 | $match Stage | 03:49 |
84 | $group Stage | 11:23 |
85 | $project Stage | 13:03 |
86 | $count Stage | 06:57 |
87 | $collStats Stage | 14:41 |
88 | $indexStats Stage | 05:59 |
89 | $set Stage | 07:16 |
90 | $unset Stage | 04:12 |
91 | $unwind Stage | 04:26 |
92 | $lookup Stage | 12:58 |
93 | $unionWith Stage | 10:15 |
94 | $limit Stage | 02:50 |
95 | $skip Stage | 02:59 |
96 | $sort Stage | 03:59 |
97 | $out Stage | 09:05 |
98 | Aggregation Pipeline Operators | 04:30 |
99 | Arithmetic Expression Operators | 08:49 |
100 | Array Expression Operators | 08:45 |
101 | Boolean Expression Operators | 10:43 |
102 | Comparison Expression Operators | 08:26 |
103 | String Expression Operators | 13:35 |
104 | Type Expression Operators | 12:12 |
105 | Aggregation Pipeline Optimization | 13:05 |
106 | Aggregation Pipeline Limits | 03:59 |
107 | SQL Terms vs MongoDB Aggregation Operators | 03:00 |
108 | Introduction to MongoDB Data Modeling | 02:11 |
109 | Embedded Data Model | 06:05 |
110 | References Data Model | 05:40 |
111 | Perform Schema Validations | 08:51 |
112 | Introduction to MongoDB Indexes | 05:18 |
113 | Different Types of Indexes | 03:41 |
114 | Index Creation in MongoDB | 04:13 |
115 | Specify the Name to the Index | 05:03 |
116 | Listing the Indexes | 03:08 |
117 | Default _id Index | 01:35 |
118 | Drop an Index | 05:40 |
119 | Single Field Index | 07:02 |
120 | Compound Index | 06:21 |
121 | Prefixes in Compound Index | 05:14 |
122 | Multikey Index | 08:37 |
123 | Covered Query | 07:52 |
124 | Text Index | 08:57 |
125 | 2d Index | 14:40 |
126 | 2dsphere Index | 25:27 |
127 | Hashed Index | 05:33 |
128 | Wildcard Indexes | 12:41 |
129 | Overview of Index Properties | 02:15 |
130 | TTL Index | 08:08 |
131 | Unique Index | 08:52 |
132 | Partial Index | 12:28 |
133 | Case Insensitive Index | 12:51 |
134 | Hidden Index | 13:54 |
135 | Sparse Index | 06:47 |
136 | dropIndexes() Method | 08:55 |
137 | totalIndexSize() Method | 03:58 |
138 | Overview of Performance Tuning in MongoDB | 01:45 |
139 | Database Profiler | 01:51 |
140 | Setup Database Profiling | 02:30 |
141 | Database Profiling Commands | 10:07 |
142 | system.profile Collection | 13:08 |
143 | Index Strategies | 14:07 |
144 | cursor.explain() Method | 04:36 |
145 | queryPlanner Explain Mode | 06:31 |
146 | executionStats Explain Mode | 07:51 |
147 | allPlansExecution Explain Mode | 13:10 |
148 | Explain Result without an Index | 09:24 |
149 | Explain Result with an Index | 13:33 |
150 | Introduction to MongoDB Replication | 05:00 |
151 | Primary, Secondary and Arbiter | 04:25 |
152 | Automatic Failover | 04:52 |
153 | Oplog | 05:06 |
154 | Initiate a Replica Set - rs.initiate() Method | 04:27 |
155 | rs.status() Method | 03:01 |
156 | Build 3 Node Replica Set | 38:18 |
157 | Primary Election Process | 06:25 |
158 | Journaling | 04:22 |
159 | Write Concern | 04:49 |
160 | Write Concern Specification | 11:21 |
161 | Read Preference | 10:40 |
162 | Read Preference Modes | 09:15 |
163 | Add Members to the Replica Set | 15:23 |
164 | Add an Arbiter to the Replica Set | 11:54 |
165 | Remove Member from the Replica Set | 11:01 |
166 | Replica Set Configuration - rs.conf() Method | 02:52 |
167 | rs.reconfig() Method | 03:32 |
168 | Priority 0 Replica Set Member | 03:35 |
169 | Prevent Secondary from becoming Primary | 08:02 |
170 | Force a Member to become Primary | 07:03 |
171 | Hidden Replica Set Member | 02:28 |
172 | Configuring Hidden Member | 04:45 |
173 | Votes | 02:30 |
174 | Configuring non-Voting Member | 05:00 |
175 | Delayed Replica Set Member | 02:21 |
176 | Configure a Delayed Member | 08:15 |
177 | Change an Oplog Size | 15:02 |
178 | Chained Replication | 07:21 |
179 | Configuring Secondary's Sync Target | 06:53 |
180 | rs.printSecondaryReplicationInfo() Method | 03:04 |
181 | rs.printReplicationInfo() Method | 02:56 |
182 | rs.stepDown() Method | 05:23 |
183 | rs.freeze() Method | 03:37 |
184 | Replica Set Member States | 06:30 |
185 | Introduction to MongoDB Security | 03:05 |
186 | Authorization, Authentication and Encryption | 05:25 |
187 | Understanding Roles and Users | 04:49 |
188 | Localhost Exception | 02:32 |
189 | User Creation – db.createUser() Method | 14:00 |
190 | SCRAM Authentication Mechanism | 03:32 |
191 | Enable Access Control (Authorization) | 15:16 |
192 | Internal Authentication | 05:23 |
193 | Enforce keyfile Authentication on Existing Replica Set (With Downtime) | 21:34 |
194 | Enforce keyfile Authentication on Existing Replica Set (No Downtime) | 34:37 |
195 | Built-in Roles | 09:06 |
196 | User Defined Roles – db.createRole() Method | 11:34 |
197 | db.getRole() and db.getRoles() Methods | 12:03 |
198 | db.getUser() and db.getUsers() Methods | 06:27 |
199 | db.grantRolesToUser() Method | 04:55 |
200 | db.revokeRolesFromUser() Method | 04:10 |
201 | db.grantPrivilegesToRole() Method | 06:13 |
202 | db.revokePrivilegesFromRole() Method | 07:00 |
203 | db.revokeRolesFromRole() Method | 03:41 |
204 | db.grantRolesToRole() Method | 04:01 |
205 | db.updateUser() Method | 08:44 |
206 | db.updateRole() Method | 10:55 |
207 | db.dropUser() and db.dropAllUsers() Methods | 04:32 |
208 | db.dropRole() and db.dropAllRoles() Methods | 05:05 |
209 | Change User Password | 05:38 |
210 | Collection Level Access Control | 03:48 |
211 | Introduction to MongoDB Database Tools | 02:38 |
212 | Installation of MongoDB Database Tools | 04:21 |
213 | mongodump | 04:38 |
214 | mongodump Examples | 10:48 |
215 | mongorestore | 04:13 |
216 | mongorestore Examples | 13:03 |
217 | bsondump | 03:04 |
218 | bsondump Examples | 06:23 |
219 | mongoexport | 02:40 |
220 | mongoexport Examples | 12:24 |
221 | mongoimport | 04:28 |
222 | mongoimport Examples | 13:50 |
223 | mongostat | 04:08 |
224 | mongostat Examples | 08:48 |
225 | mongotop | 02:37 |
226 | mongotop Examples | 05:34 |
227 | Introduction to Storage and Storage Engine | 02:09 |
228 | WiredTiger Storage Engine | 07:50 |
229 | In-Memory Storage Engine | 06:33 |
230 | GridFS | 09:16 |
231 | GridFS – mongofiles | 14:02 |
232 | Introduction to MongoDB Sharding | 06:47 |
233 | Shards | 01:48 |
234 | Config Server | 02:19 |
235 | mongos (Router) | 02:29 |
236 | Shard Key | 04:43 |
237 | Sharding Architecture | 03:46 |
238 | Choosing a Shard Key | 08:30 |
239 | Hashed Sharding | 04:15 |
240 | Ranged Sharding | 03:50 |
241 | Overview of Sharding Setup | 05:26 |
242 | Setup 2 Shard Replica Sets | 15:29 |
243 | Setup Config Server Replica Set | 06:57 |
244 | Setup mongos Router | 04:55 |
245 | Add Shard 1 to the Sharded Cluster (Converting Replica Set to Sharded Cluster) | 06:44 |
246 | Shard a Collection | 08:34 |
247 | Check the Status of Sharded Cluster – sh.status() Method | 04:15 |
248 | Balancer Process | 03:16 |
249 | Add Shard 2 to the Sharded Cluster | 04:49 |
250 | Balancer State – sh.getBalancerState() Method | 01:38 |
251 | sh.setBalancerState() Method | 02:44 |
252 | sh.isBalancerRunning() Method | 02:07 |
253 | sh.stopBalancer() Method | 02:09 |
254 | sh.startBalancer() Method | 02:11 |
255 | Chunks and Jumbo Chunk | 04:59 |
256 | Overview of Split Chunks | 02:47 |
257 | sh.splitAt() Method | 07:55 |
258 | sh.splitFind() Method | 06:38 |
259 | Merge Chunks with mergeChunks Command | 05:30 |
260 | Migrating a Chunk using moveChunk Command (or sh.moveChunk() Method) | 10:31 |
261 | Modify Chunk Size | 07:24 |
262 | Primary Shard and movePrimary Command | 08:47 |
263 | sh.balancerCollectionStatus() Method | 03:42 |
264 | sh.disableBalancing() and sh.enableBalancing() Methods | 04:52 |
265 | sh.disableAutoSplit() and sh.enableAutoSplit() Methods | 05:27 |
266 | Changing a Shard Key | 01:49 |
267 | Refining a Shard Key | 07:53 |
268 | Reshard a Collection | 11:04 |
269 | Back Up Sharded Cluster Metadata | 09:56 |
270 | Remove Shards from an Existing Sharded Cluster | 11:08 |
271 | Config Database | 11:58 |
272 | What If – mongos become unavailable | 01:53 |
273 | What If – Single member of Shard becomes unavailable | 01:44 |
274 | What If – All members of Shard become unavailable | 01:21 |
275 | What If – Single member of Config Replica Set become unavailable | 01:57 |
276 | Overview of MongoDB Administration | 00:58 |
277 | MongoDB Version Upgrade | 13:00 |
278 | DEMO: Upgrade a Replica Set v4.4.17 to v5.0.13 | 29:07 |
279 | DEMO: Upgrade a Replica Set v5.0.13 to v6.0.2 | 22:33 |
280 | MongoDB Version Upgrade Approach for Sharded Cluster | 07:31 |
281 | db.currentOp() and db.killOp() and cursor.maxTimeMS() Methods | 12:44 |
282 | Recover a Standalone using -- repair | 03:20 |
283 | Compact Operation | 05:45 |
284 | MongoDB Log Rotation | 06:16 |
285 | db.setLogLevel() Method | 03:45 |
286 | Statistics and Informative Methods | 22:09 |
287 | Rename a Collection | 04:06 |
288 | allowDiskUse() Method | 03:18 |
289 | db.fsyncLock() and db.fsyncUnlock() Methods | 05:51 |
290 | db.shutdownServer() Method | 05:31 |
291 | Convert Command-Line Options to YAML | 08:19 |
292 | System Collections | 04:30 |
293 | Operations Checklist for Production MongoDB Deployment | 12:06 |
294 | MongoDB Limits and Thresholds | 14:02 |
295 | Help() Methods | 03:47 |
296 | Congratulations and Thank you! | 01:06 |