Data today is growing at an alarming rate. A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Organizations are increasingly adopting NoSQL databases in response to the complexity and limitations of traditional relational databases. The reason is simple: NoSQL databases are more scalable, can achieve better performance, and offer a more cost-effective way of developing software. And one of the most popular NoSQL databases used by companies for developing their modern applications is MongoDB as it allows users to maintain the benefits of relational databases while incorporating innovations of NoSQL databases.

MongoDB is one of the most popular NoSQL databases built for modern applications. It follows a document based approach which allows for a flexible database schema. It’s powerful, yet simple, querying language can handle a wide range of requirements from full-text search and geospatial search to indexing and aggregation. Not to mention its capability to replicate and shard the data across a large cluster of computers so that working with big data is not a hassle any more!

With comprehensive hands-on content, multiple assignments and a final project, we will equip you with the skill to deal with the world of data backed by a solid understanding of MongoDB!

This course is for anyone who has basic knowledge of programming and is looking to transition into the world of Data Science or Data Engineering.

You will require the following prerequisites for this course -

  • Knowledge about the basics of Python programming language

  • Knowledge of working with a relational database

  • Familiarity of working with a command line interface

Key Takeaways

  • Understand what makes NoSQL databases so popular

  • Familiarity with the basic features of MongoDB

  • Manipulating data with Create Read Update Delete (CRUD) operations in MongoDB

  • Get comfortable with Querying in MongoDB using PyMongo

  • Build Aggregation Pipelines in MongoDB

  • Learn to optimize query execution with Indexing

  • Explore the basics of Replication and Sharding in MongoDB

Assignments and Project

  • Querying on Code Challenges data
  • Aggregating on Stock Market data
  • Indexing on NYC Events and Neighbourhoods data
  • Clickstream project
Assignments and Project

Course curriculum

  • 1
    Introduction to the Course
    • Course Overview
    • Prerequisites
    • Course Handouts
  • 2
    NoSQL Databases
    • Introduction to Relational Databases
    • Challenges with Relational Databases
    • NoSQL Databases
    • Distributed Systems
    • CAP Theorem
  • 3
    What is MongoDB
    • Introduction to MongoDB
    • Documents in MongoDB
    • Collections in MongoDB
    • Databases in MongoDB
    • MongoDB Storage Format
    • Quiz: What is MongoDB?
  • 4
    Installing MongoDB
    • Installing MongoDB on Linux
    • Installing MongoDB on Windows
    • What is mongod
    • Running MongoDB on Linux
    • Running MongoDB on Windows
    • MongoDB Atlas
    • Quiz: Installing MongoDB
  • 5
    CRUD Operations
    • Creating Databases and Collections
    • Quiz: Creating Databases and Collections
    • Inserting Documents
    • Quiz: Inserting Documents
    • Reading Documents
    • Quiz: Reading Documents
    • The _id Field
    • Quiz: The _id Field
    • Importing and Exporting Data
    • Quiz: Importing and Exporting Data
    • Backup and Restore MongoDB Databases
    • Quiz: Backup and Restore MongoDB Databases
    • Updating Documents
    • Quiz: Updating Documents
    • Deleting Documents, Collections and Databases
    • Quiz: Deleting Documents, Collections and Databases
    • CRUD Operations in MongoDB Atlas
    • Importing, Exporting and Working with MongoDB Atlas
  • 6
    Querying in MongoDB
    • Installing PyMongo
    • Connecting to Atlas Cluster using PyMongo
    • Connecting to Local MongoDB Server using PyMongo
    • Getting Comfortable with PyMongo
    • Quiz: Getting Comfortable with PyMongo
    • Querying with Comparison Operators
    • Quiz: Querying with Comparison Operators
    • Querying an Array
    • Quiz: Querying an Array
    • Querying with Logical Operators
    • Quiz: Querying with Logical Operators
    • Querying Array of Embedded Documents
    • Quiz: Querying Array of Embedded Documents
    • Introduction to RegEx
    • Querying using Regular Expressions
    • Quiz: Querying using Regular Expressions
    • Assignment: Querying in MongoDB
  • 7
    Building Pipelines in MongoDB
    • Aggregation Pipelines
    • Quiz: Aggregation Pipelines
    • Getting Familiar with Aggregation Pipeline
    • Quiz: Getting Familiar with Aggregation Pipeline
    • Stages in Aggregation Pipeline
    • Quiz: Stages in Aggregation Pipeline
    • Projecting fields in MongoDB
    • Quiz: Projecting fields in MongoDB
    • Aggregation Pipeline Expression Operators
    • Quiz: Aggregation Pipeline Expression Operators
    • Date Expression Operators
    • Quiz: Date Expression Operators
    • String Expression Operators
    • Quiz: String Expression Operators
    • Aggregation Operations
    • Sorting in MongoDB
    • Quiz: Sorting in MongoDB
    • Grouping in MongoDB
    • Quiz: Grouping in MongoDB
    • Building Sub-Pipelines in MongoDB
    • Quiz: Building Sub-pipelines in MongoDB
    • Assignment: Building Pipelines in MongoDB
  • 8
    Indexing in MongoDB
    • What is Indexing
    • Quiz: What is Indexing
    • Indexing in MongoDB
    • Single Field Indexes
    • Querying on Single Field Indexes
    • Quiz: Querying on Single Field Indexes
    • Compound Indexes
    • Quiz: Compound Indexes
    • Index Prefix on Compound Indexes
    • Quiz: Index Prefix on Compound Indexes
    • Multikey Indexes
    • Quiz: Multikey Indexes
    • Text Indexes
    • Quiz: Text Indexes
    • Geospatial Indexes
    • Quiz: Geospatial Indexes
    • Indexing Best Practices
    • Assignment: Indexing in MongoDB
  • 9
    Replication and Sharding
    • What is Replication
    • Replication in MongoDB
    • What is Sharding
    • Sharding in MongoDB
    • Quiz: Replication and Sharding in MongoDB
  • 10
    Project
    • Clickstream Project
    • Clickstream Project Notebook

Instructor(s)

  • Pranav  Dar

    Senior Content Strategist and BA Program Lead, Analytics Vidhya

    Pranav Dar

    Pranav is the Senior Content Strategist and BA Program Lead at Analytics Vidhya. He has written over 300 articles for AV in the last 3 years and brings a wealth of experience and writing know-how to this course. He has a decade of experience in designing courses, creating content and writing articles that people love to read. Pranav is also an instructor on 14+ courses on Analytics Vidhya and is a passionate sports analytics blogger as well.
  • Siddharth Sonkar

    Senior Big Data engineer

    Siddharth Sonkar

    Siddharth is a Senior Big Data Engineer at Analytics Vidhya. He has a rich experience in Big Data technology stack like Hadoop, Spark, Kafka and AWS, amongst others. He has worked for top clients across the globe and across a diverse set of domains like e-commerce, telecom, banking and automotive to name a few. Siddharth is an avid reader and enjoys watching movies and playing video games whenever he gets the chance.
  • Aniruddha Bhandari

    Data Scientist

    Aniruddha Bhandari

    Aniruddha is a Computer Science Graduate and a Data Scientist at Analytics Vidhya. He regularly contributes to the AV Blog with articles related to Data Science and Data Engineering fields. He has also contributed to courses on NLP and Apache Spark.