강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

mongoDB from basics to practice (feat. Node.js)

mongoDB, NoSQL You hear a lot these days, but is it still an unfamiliar database? Aren't you using it like a relational database (RDS/SQL)? No matter how good the technology is, if it's not used correctly, it will have the opposite effect. That's why we often see cases of failure in using MongoDB. This lecture will teach you everything from basic concepts to practical know-how so that you can use MongoDB as MongoDB-like as possible.

(4.7) 92 reviews

1,344 learners

  • sihoon
MongoDB
REST API
Node.js
AWS
JavaScript

Reviews from Early Learners

What you will gain after the course

  • Backend development that properly utilizes mongoDB

  • Developing REST API with Node.js and Express

  • Asynchronous programming

  • Maximizing Read Performance Using Index and Nesting

  • ACID Transaction

  • Deploying Node.js Server on AWS Lightsail

  • mongoDB Atlas Cloud Managed Service

MongoDB, the most beloved NoSQL-based database!
I'll show you how to use MongoDB properly. 😎

Topic Introduction 📝

MongoDB's name comes from the word "humongous," meaning "huge." It's a NoSQL-based database launched in 2009, following the internet boom that ushered in the rise of big data keywords. Databases are a core foundation for service development. Unlike MongoDB, the more familiar relational databases (MySQL, PostgreSQL) are already over 20 years old. It's fascinating that in a programming ecosystem where new programming languages and technologies are constantly emerging, there's such a small field of change. Databases are such an important and conservative technology. Any changes to the database can impact not only the backend but also the frontend built on top of it. Consequently, many questions arise about MongoDB, a somewhat unfamiliar technology, and we often see examples of failed implementations:

  • Should MongoDB be used depending on the situation?
  • Isn't e-commerce necessarily RDS?
  • It's good for quick and simple development in the beginning, but is a relational database better later on?
  • A database that doesn't even support JOIN?

I believe these issues stem from the fact that it's a relatively new technology and the know-how isn't fully known. MongoDB can be used for general purposes, much like relational databases, and e-commerce development can certainly be done with MongoDB (I'm an experienced user). And when used properly, it's far more efficient than relational databases when dealing with large traffic volumes.

What causes these application failures in the first place? It's a lack of understanding of MongoDB's philosophy. Simply learning how to use it isn't enough. And above all, you shouldn't approach it like a relational database. MongoDB's problem-solving approach is fundamentally different in many ways. If you understand these characteristics and use it in a MongoDB-like manner, MongoDB offers a wealth of advantages.

Why you should learn ✒️

  1. Databases can easily become traffic bottlenecks, but MongoDB can fundamentally solve this scalability problem.
  2. You can truly learn MongoDB while also learning backend development. Backend development and databases are one and the same!
  3. Most data communicated in web development is in JSON format. MongoDB stores data in JSON (BSON). This virtually eliminates the need for backend data conversion or ORM, lowering the barrier to entry.
  4. It's a general-purpose database. Due to the nature of NoSQL databases, ACID transactions are often not supported. MongoDB, however, has supported ACID transactions since version 4.0, while maintaining the horizontal scalability of NoSQL.
  5. We'll cover asynchronous programming early in the course. It's an essential concept for the backend to communicate efficiently with the database.

What you will learn in this course ✏️

  1. MongoDB Basic Usage - CRUD
  2. mongoDB Atlas - Deploying a Managed Cloud Database
  3. Maximizing Backend Efficiency with Asynchronous Programming
  4. Creating a REST API with the Express Framework
  5. How to read related data efficiently (populate)
  6. Maximize reading performance by appropriately embedding child documents in parent documents.
  7. Maximize search performance by applying indexes
  8. Maintain consistent data management using transactions (Multi-Document Transactions).
  9. Deploying a Backend Server on AWS Lightsail
  10. Comparing relational databases to MongoDB

Below are some of the materials used in the lecture :)

Skills covered here 🧰

mongoDB, Node.js, Javascript, Postman, AWS, mongoDB Atlas

Expected Questions Q&A 🙋🏻‍♂️

Q. Is this course for Node.js (Javascript) developers?
A. This course is about MongoDB. Node.js is a tool to demonstrate the overall flow of how backend developers can effectively utilize MongoDB. Therefore, even if you're developing backends in another language, you can still take this course. The Node.js-related sections cover fundamental, commonly used concepts (REST API, asynchronous programming). With a solid understanding of these concepts, you'll be able to use MongoDB effectively in any development environment. :)

Q. Is there a reason why we are handling the backend (Node.js) together?
A. This course teaches backend developers how to properly design and use a MongoDB database. Therefore, we cover basic backend development early in the course to ensure proper database utilization. Also, this course is not a DevOps course. We won't teach you how to install a database, build replica sets, or manage sharding. Instead, you'll use MongoDB Atlas, a managed cloud service that automates these DevOps tasks.

Q. Do you also learn MongoDB Aggregates?

A. This lecture focused on how to effectively utilize MongoDB in a MongoDB-like way for "typical" backend development. Using Aggregates in frequently-used, general APIs can overload the database, so I don't recommend it. Simply put, frequent use of Aggregates means you're using MongoDB like a relational database, rather than using it in a MongoDB-like way. Therefore, this lecture doesn't cover Aggregates. I'll show you how to properly utilize MongoDB without Aggregates! This doesn't mean Aggregates are bad; they simply have a specific use case. They're a powerful tool in data engineering, such as generating statistics or processing large amounts of data. Compared to general APIs, these data engineering processes are much less frequently called and can tolerate long response times. For example, if you want to extract quarterly sales data, you could run an aggregate batch once a quarter, store the results, and then retrieve them quickly. I plan to produce a MongoDB-based data engineer lecture in the future. At this time, we will cover MongoDB Aggregate, as well as big data management with MongoDB Data Lake and data visualization with MongoDB Charts!

Q. Please tell us what prompted you to start this course.
A. I'm not a major in this field. I learned by analyzing and applying fragmented information online. Repeating this process allowed concepts to become abstracted and organized. "Abstraction" here is a crucial concept. During development, you might only implement simple functions to make a service work. However, developers who excel at "abstraction" can create services that "work" and "scalable." Another way to put it is that they're developers who have a strong understanding of "Why." However, the more recent a technology is, the less understanding of "Why" it often becomes due to previous community development. So, I created a course on MongoDB, a relatively unfamiliar database. Please understand "Why" and create many great services!

Recommended for
these people

Who is this course right for?

  • For those who want to use MongoDB properly

  • For those who want to get started with backend development

  • Anyone who wants to build a highly scalable backend and database

Need to know before starting?

  • Basic Javascript grammar (or basic programming knowledge)

Hello
This is

2,704

Learners

186

Reviews

261

Answers

4.7

Rating

3

Courses

현재 공동창업한 작은 스타트업 Ninjalerts에서 CTO역할로 일하고 있습니다. Ninjalerts는 이더리움 블록체인 데이터를 기반으로 NFT 거래 정보들을 실시간으로 알려주는 서비스에요!

전에 만나씨이에이에서 개발 팀장으로 있었어요. 시작은 기획자였는데 개발자가 부족한 탓에 외주를 맡기려다가 직접 개발할 기회가 생기면서 운 좋게 개발자로 전향했어요. 이후 자사몰을 자체 개발하면서 이커머스 개발팀장을 맡았어요.

온라인에 나온 다양한 좋은 자료들 덕분에 빠르게 성장할 수 있었어요. 제 노하우가 여러분들에게도 도움이 되길 바랍니다 :) Linkedin 프로필

Curriculum

All

112 lectures ∙ (11hr 56min)

Published: 
Last updated: 

Reviews

All

92 reviews

4.7

92 reviews

  • dongqsarang1173님의 프로필 이미지
    dongqsarang1173

    Reviews 1

    Average Rating 4.0

    4

    99% enrolled

    I highly recommend this to developers who are developing apps with nodejs+mongodb. It teaches even the complicated parts well with easy-to-understand explanations. There are two shortcomings. One is that there are parts where mistakes are made here and there and it takes a lot of time to find them, so it would be better if those parts were edited. Second, the practice screen is too small to follow. I wish they had zoomed in a bit more and taken a picture of the practice screen. The content itself is VERY GOOD. Thank you.

    • ybr09060304님의 프로필 이미지
      ybr09060304

      Reviews 2

      Average Rating 5.0

      5

      69% enrolled

      I was studying to switch from 5 years of Java development to NodeMongoDB, and this was very helpful. I studied through many lectures, but this was the best. I hope to see more great lectures in the future.

      • vividjtj7313님의 프로필 이미지
        vividjtj7313

        Reviews 13

        Average Rating 4.7

        5

        95% enrolled

        It's easy to understand and teaches well. However, if you don't have a basic understanding of DB, you might get lost in the middle. Recommended!

        • ronaldys731345님의 프로필 이미지
          ronaldys731345

          Reviews 1

          Average Rating 4.0

          4

          82% enrolled

          The lecture is really good. However, one thing that is disappointing is that the screen size is too small, so it is very difficult to see the code. If the screen size were a little bigger, it would have been a much better lecture. I would appreciate it if you could make the next lecture bigger to fit the students.

          • sihoon
            Instructor

            Hello, Shinron :) I'm sorry for the inconvenience due to the screen size. It's my first lecture, so there are many things I'm lacking. I'll make sure to adjust the screen size and record it when I improve the next lecture and the Mongo lecture!

        • kookdongkim5453님의 프로필 이미지
          kookdongkim5453

          Reviews 1

          Average Rating 5.0

          5

          99% enrolled

          Very good for learning the basics

          Limited time deal ends in 01:30:31

          $45.10

          24%

          $59.40

          sihoon's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!