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
- Getting started with MongoDB and use it along with JavaScript.
- Run CRUD (Create, Update, Delete, Read) operations
- Create and manage Collections in MongoDB
- Run queries using Find() and FindOne() commands
- Work with Upserts and Inserts in MongoDB
- Manage database indexes
- 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 Coding Bootcamps school 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:
- Private tutoring sessions for system administrator management- Weekly and monthly plans
- Database design and SQL coding- Private tutoring sessions
What Is Next?
After finishing this course, you can enroll in any of following classes:
- Learn Node.JS, Express.JS and MongoDB
- Intro to HTML and CSS
- Learn Graph Database Design by Examples
- Intro to JavaScript
Recommended Free Courses
If you are new to the IT or programming, we suggest the following free courses:
Course Curriculum
- a- Count (2:35)
- b- Sum (7:29)
- c- Average (2:01)
- d- Operations with arrays (2:13)
- e- Aggregate query examples useful for work and learning (3:33)
- f- Match (2:16)
- g- Remove docs that have a duplicate field in a collection (dedupe) (3:14)
- h- Left Outer Join with aggregation ( $Lookup) (7:40)
- i- Server Aggregation (3:08)
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.
Related Courses
Here is the list of related courses: