In this course you learn how to design No-SQL databases with MongoDB.

MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas.



Learning Objectives

In this hands-on course, you learn how to

  1. Getting started with MongoDB and use it along with JavaScript.
  2. Run CRUD (Create, Update, Delete, Read) operations
  3. Create and manage Collections in MongoDB
  4. Run queries using Find() and FindOne() commands
  5. Work with Upserts and Inserts in MongoDB
  6. Manage database indexes
  7. Run Aggregation and many more



Topics and Subtopics

Here is the course outline:


Session 1: Getting started with MongoDB 

1.1: Execution of a JavaScript file in MongoDB 

1.2: Making the output of find readable in shell

1.3: Complementary Terms

1.4: Installation

1.5: Basic commands on mongo shell

1.6: Hello World

 

Session 2: CRUD Operation 

2.1: Create 

2.2: Update 

2.3: Delete

2.4: Read

2.5: Update of embedded documents

2.6: More update operators

2.7: "multi" Parameter while updating multiple documents

 


Session 3: Getting database information

3.1: List all collections in database

3.2: List all databases

 


Session 4: Querying for Data (Getting Started)

4.1: Find()

4.2: FindOne()

4.3: limit, skip, sort and count the results of the find() method

4.4: Query Document - Using AND, OR and IN Conditions 

4.5: find() method with Projection 

4.6: Find() method with Projection

 


Session 5: Update Operators

5.1: $set operator to update specified field(s) in document(s)

 


Session 6: Upserts and Inserts

6.1: Insert a document

 


Session 7: Collections 

7.1: Create a Collection

7.2: Drop Collection

 


Session 8: Aggregation 

8.1: Count 

8.2: Sum

8.3: Average

8.4: Operations with arrays

8.5: Aggregate query examples useful for work and learning

8.6: Match

8.7: Get sample data

8.8: Remove docs that have a duplicate field in a collection (dedupe)

8.9: Left Outer Join with aggregation ( $Lookup)

8.10: Server Aggregation

8.11: Aggregation in a Server Method

8.12: Java and Spring example

 


Session 9: Indexes

9.1: Index Creation Basics

9.2: Dropping/Deleting an Index

9.3: Sparse indexes and Partial indexes

9.4: Get Indices of a Collection

9.5: Compound

9.6: Unique Index

9.7: Single field

9.8: Delete

9.9: List

 


Session 10: Bulk Operations 

10.1: Converting a field to another type and updating the entire collection in Bulk

 



Requirements

Good knowledge of database logics, concepts and design.




Related Courses





Complete Training Bundle

If you are serious about becoming a pro system admin or cloud specialist, you should enroll in our System Admin- Complete Training Bundle. This bundle covers all essential and practical topics related to system administration. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to system administration like Linux, SQL, No-SQL, or Graph database development, bash scripting, Docker, Kubernetes and many more. Click here to learn more.



Private Tutoring Classes

To take skills you learn from this course to the next level, taking the following tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:




What Is Next?

After finishing this course, you can enroll in any of following classes:


Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:


Select a pricing plan and sign up

Course Curriculum

  Course contents
Available in days
days after you enroll
  Course Lectures- Session 1
Available in days
days after you enroll
  Course Lectures- Session 2
Available in days
days after you enroll
  Course Lectures- Session 3
Available in days
days after you enroll
  Course Lectures- Session 4
Available in days
days after you enroll
  Course Lectures- Session 5
Available in days
days after you enroll
  Course Lectures- Session 6
Available in days
days after you enroll
  Course Lectures- Session 7
Available in days
days after you enroll
  Course Lectures- Session 8
Available in days
days after you enroll
  Course Lectures- Session 9
Available in days
days after you enroll
  Course Lectures- Session 10
Available in days
days after you enroll
Nathaniel Hughes- Senior Software Engineer

Nathaniel Hughes- Senior Software Engineer


My name is Nathaniel, and I’m a software engineer with 5+ years experience working in industry and the open-source community. I graduated from Virginia Tech with a BS in Computer Engineering in 2015, and I completed an MS in Computer Science at Georgia Tech in 2020. 

In addition to my industry experience, I am an instructional associate at Georgia Tech, helping to teach and administer the course CS 6400 - Database Systems and Concepts. I love both learning and teaching, and I hope that background helps me to provide you with good, self-paced learning content.

Software engineering is a booming industry, and I appreciate the opportunity to help you learn some of the most valuable topics that employers are looking for. I wish you all the best success in starting or growing in your career as a software engineer. Thank you!

I am adept at programming languages like Python, C++, SQL, GoLang and more.


Select a pricing plan and sign up