강의

멘토링

로드맵

BEST
Programming

/

Back-end

Từ những điều cơ bản về mongoDB đến công việc thực tế (feat. Node.js)

mongoDB, NoSQL ngày nay được nhắc đến rất nhiều, nhưng liệu nó có còn là một cơ sở dữ liệu xa lạ không? Bạn có đang sử dụng nó như một cơ sở dữ liệu quan hệ (RDS/SQL) không? Ngay cả công nghệ tốt nhất cũng có thể phản tác dụng nếu không được sử dụng đúng cách. Đó là lý do chúng ta thường thấy những trường hợp thất bại khi sử dụng MongoDB. Bài giảng này sẽ dạy cho bạn mọi thứ, từ các khái niệm cơ bản đến bí quyết thực tế để bạn có thể sử dụng mongoDB nhiều nhất có thể.

(4.7) 92 đánh giá

1,344 học viên

  • sihoon
MongoDB
REST API
Node.js
AWS
JavaScript

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Phát triển phụ trợ sử dụng đúng mongoDB

  • Phát triển REST API với Node.js và Express

  • Lập trình không đồng bộ (không đồng bộ)

  • Tối đa hóa hiệu suất đọc bằng cách sử dụng chỉ mục và lồng nhau

  • Giao dịch ACID

  • Triển khai máy chủ Node.js trên AWS lightail

  • dịch vụ quản lý đám mây mongoDB Atlas

MongoDB, cơ sở dữ liệu dựa trên NoSQL được yêu thích nhất!
Tôi sẽ chỉ cho bạn cách sử dụng MongoDB đúng cách. 😎

Giới thiệu chủ đề 📝

Tên của MongoDB bắt nguồn từ từ "humongous", nghĩa là "khổng lồ". Đây là một cơ sở dữ liệu dựa trên NoSQL được ra mắt vào năm 2009, sau sự bùng nổ của Internet, mở ra sự trỗi dậy của các từ khóa dữ liệu lớn. Cơ sở dữ liệu là nền tảng cốt lõi cho phát triển dịch vụ. Không giống như MongoDB, các cơ sở dữ liệu quan hệ quen thuộc hơn (MySQL, PostgreSQL) đã hơn 20 năm tuổi. Thật thú vị khi trong một hệ sinh thái lập trình, nơi các ngôn ngữ lập trình và công nghệ mới liên tục xuất hiện, lại có một phạm vi thay đổi nhỏ như vậy. Cơ sở dữ liệu là một công nghệ quan trọng và bảo thủ. Bất kỳ thay đổi nào đối với cơ sở dữ liệu đều có thể ảnh hưởng không chỉ đến phần backend mà còn cả phần frontend được xây dựng trên đó. Do đó, nhiều câu hỏi được đặt ra về MongoDB, một công nghệ còn khá xa lạ, và chúng ta thường thấy các ví dụ về việc triển khai thất bại:

  • Có nên sử dụng MongoDB tùy theo tình huống không?
  • Thương mại điện tử không nhất thiết phải là RDS sao?
  • Ban đầu thì nó tốt cho việc phát triển nhanh chóng và đơn giản, nhưng liệu cơ sở dữ liệu quan hệ có tốt hơn về sau không?
  • Một cơ sở dữ liệu thậm chí không hỗ trợ JOIN?

Tôi tin rằng những vấn đề này xuất phát từ việc đây là một công nghệ tương đối mới và kiến thức chuyên môn vẫn chưa được biết đến đầy đủ. MongoDB có thể được sử dụng cho các mục đích chung, tương tự như cơ sở dữ liệu quan hệ, và việc phát triển thương mại điện tử chắc chắn có thể được thực hiện với MongoDB (tôi là người dùng có kinh nghiệm). Và khi được sử dụng đúng cách, nó hiệu quả hơn nhiều so với cơ sở dữ liệu quan hệ khi xử lý khối lượng truy cập lớn.

Nguyên nhân đầu tiên gây ra những lỗi ứng dụng này là gì? Đó là do thiếu hiểu biết về triết lý của MongoDB. Chỉ học cách sử dụng thôi là chưa đủ. Và trên hết, bạn không nên tiếp cận nó như một cơ sở dữ liệu quan hệ. Cách tiếp cận giải quyết vấn đề của MongoDB về cơ bản khác biệt ở nhiều khía cạnh. Nếu bạn hiểu những đặc điểm này và sử dụng nó theo cách tương tự MongoDB, MongoDB sẽ mang lại rất nhiều lợi thế.

Tại sao bạn nên học ✒️

  1. Cơ sở dữ liệu có thể dễ dàng trở thành nút thắt về lưu lượng truy cập, nhưng MongoDB có thể giải quyết cơ bản vấn đề khả năng mở rộng này.
  2. Bạn thực sự có thể học MongoDB đồng thời với việc học phát triển back-end. Phát triển back-end và cơ sở dữ liệu là một!
  3. Hầu hết dữ liệu được truyền tải trong phát triển web đều ở định dạng JSON. MongoDB lưu trữ dữ liệu ở định dạng JSON (BSON). Điều này hầu như loại bỏ nhu cầu chuyển đổi dữ liệu backend hoặc ORM, giúp giảm thiểu rào cản gia nhập.
  4. Đây là một cơ sở dữ liệu đa năng. Do bản chất của cơ sở dữ liệu NoSQL, các giao dịch ACID thường không được hỗ trợ. Tuy nhiên, MongoDB đã hỗ trợ các giao dịch ACID kể từ phiên bản 4.0, đồng thời vẫn duy trì khả năng mở rộng theo chiều ngang của NoSQL.
  5. Chúng ta sẽ tìm hiểu về lập trình bất đồng bộ ở phần đầu khóa học. Đây là một khái niệm thiết yếu để phần backend giao tiếp hiệu quả với cơ sở dữ liệu.

Những gì bạn sẽ học được trong khóa học này ✏️

  1. Cách sử dụng cơ bản của MongoDB - CRUD
  2. mongoDB Atlas - Triển khai cơ sở dữ liệu đám mây được quản lý
  3. Tối đa hóa hiệu quả của Backend với lập trình không đồng bộ
  4. Tạo REST API bằng Express Framework
  5. Cách đọc dữ liệu liên quan một cách hiệu quả (điền vào)
  6. Tối đa hóa hiệu suất đọc bằng cách nhúng tài liệu con vào tài liệu mẹ một cách thích hợp.
  7. Tối đa hóa hiệu suất tìm kiếm bằng cách áp dụng chỉ mục
  8. Duy trì quản lý dữ liệu nhất quán bằng cách sử dụng giao dịch (Giao dịch đa tài liệu).
  9. Triển khai máy chủ phụ trợ trên AWS Lightsail
  10. So sánh cơ sở dữ liệu quan hệ với MongoDB

Dưới đây là một số tài liệu được sử dụng trong bài giảng :)

Các kỹ năng được đề cập ở đây 🧰

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

Câu hỏi dự kiến Hỏi & Đáp 🙋🏻‍♂️

H. Khóa học này có dành cho nhà phát triển Node.js (Javascript) không?
A. Khóa học này tập trung vào MongoDB. Node.js là một công cụ minh họa quy trình tổng thể về cách các nhà phát triển backend có thể sử dụng MongoDB hiệu quả. Do đó, ngay cả khi bạn đang phát triển backend bằng ngôn ngữ khác, bạn vẫn có thể tham gia khóa học này. Các phần liên quan đến Node.js bao gồm các khái niệm cơ bản, thường dùng (REST API, lập trình bất đồng bộ). Với sự hiểu biết vững chắc về các khái niệm này, bạn sẽ có thể sử dụng MongoDB hiệu quả trong bất kỳ môi trường phát triển nào. :)

H. Có lý do gì khiến chúng ta cùng nhau xử lý phần backend (Node.js) không?
A. Khóa học này hướng dẫn các nhà phát triển backend cách thiết kế và sử dụng cơ sở dữ liệu MongoDB một cách hiệu quả . Do đó, chúng tôi sẽ đề cập đến phần phát triển backend cơ bản ngay từ đầu khóa học để đảm bảo việc sử dụng cơ sở dữ liệu hiệu quả. Hơn nữa, khóa học này không phải là khóa học DevOps. Chúng tôi sẽ không hướng dẫn bạn cách cài đặt cơ sở dữ liệu, xây dựng bộ bản sao hoặc quản lý phân mảnh. Thay vào đó, bạn sẽ sử dụng MongoDB Atlas, một dịch vụ đám mây được quản lý giúp tự động hóa các tác vụ DevOps này.

H. Bạn có học MongoDB Aggregates không?

A. Bài giảng này tập trung vào cách sử dụng MongoDB hiệu quả theo cách tương tự MongoDB cho việc phát triển back-end "thông thường". Việc sử dụng Aggregate trong các API chung, thường dùng có thể gây quá tải cơ sở dữ liệu, vì vậy tôi không khuyến khích điều này. Nói một cách đơn giản, việc sử dụng Aggregate thường xuyên có nghĩa là bạn đang sử dụng MongoDB như một cơ sở dữ liệu quan hệ, thay vì sử dụng nó theo cách tương tự MongoDB. Do đó, bài giảng này không đề cập đến Aggregate. Tôi sẽ chỉ cho bạn cách sử dụng MongoDB đúng cách mà không cần Aggregate! Điều này không có nghĩa là Aggregate là xấu; chúng chỉ đơn giản là có một trường hợp sử dụng cụ thể. Chúng là một công cụ mạnh mẽ trong kỹ thuật dữ liệu, chẳng hạn như tạo thống kê hoặc xử lý lượng lớn dữ liệu. So với các API chung, các quy trình kỹ thuật dữ liệu này ít được gọi hơn nhiều và có thể chịu được thời gian phản hồi lâu. Ví dụ: nếu bạn muốn trích xuất dữ liệu bán hàng theo quý, bạn có thể chạy một lô tổng hợp mỗi quý một lần, lưu trữ kết quả và sau đó truy xuất chúng nhanh chóng. Tôi dự định sẽ thực hiện một bài giảng về kỹ sư dữ liệu dựa trên MongoDB trong tương lai. Vào thời điểm này, chúng ta sẽ tìm hiểu về MongoDB Aggregate cũng như quản lý dữ liệu lớn với MongoDB Data Lake và trực quan hóa dữ liệu với MongoDB Charts!

H. Xin hãy cho chúng tôi biết lý do nào khiến bạn bắt đầu khóa học này.
A. Tôi không phải là chuyên gia trong lĩnh vực này. Tôi học bằng cách phân tích và áp dụng thông tin rời rạc trên mạng. Việc lặp lại quá trình này cho phép các khái niệm trở nên trừu tượng và có tổ chức. "Trừu tượng hóa" ở đây là một khái niệm quan trọng. Trong quá trình phát triển, bạn có thể chỉ triển khai các hàm đơn giản để một dịch vụ hoạt động. Tuy nhiên, các nhà phát triển giỏi về "trừu tượng hóa" có thể tạo ra các dịch vụ "hoạt động" và "có khả năng mở rộng". Nói cách khác, họ là những nhà phát triển hiểu rõ về "Tại sao". Tuy nhiên, công nghệ càng mới thì sự hiểu biết về "Tại sao" thường càng ít do sự phát triển cộng đồng trước đó. Vì vậy, tôi đã tạo ra một khóa học về MongoDB, một cơ sở dữ liệu tương đối xa lạ. Hãy hiểu "Tại sao" và tạo ra nhiều dịch vụ tuyệt vời!

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Bất cứ ai muốn sử dụng mongoDB đúng cách

  • Bất cứ ai muốn tham gia phát triển phụ trợ

  • Bất kỳ ai muốn xây dựng cơ sở dữ liệu và phụ trợ có khả năng mở rộng cao

Cần biết trước khi bắt đầu?

  • Ngữ pháp cơ bản Javascript (hoặc kiến ​​thức lập trình cơ bản)

Xin chào
Đây là

2,697

Học viên

186

Đánh giá

261

Trả lời

4.7

Xếp hạng

3

Các khóa học

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

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

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

Chương trình giảng dạy

Tất cả

112 bài giảng ∙ (11giờ 56phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

92 đánh giá

4.7

92 đánh giá

  • dongqsarang1173님의 프로필 이미지
    dongqsarang1173

    Đánh giá 1

    Đánh giá trung bình 4.0

    4

    99% đã tham gia

    nodejs+mongodbでアプリ開発している開発者におすすめです。わかりやすい説明で複雑な部分もよく教えてくれますよ。 2つの欠点が見られますが、1つは途中で間違いを犯し、それを見つけるのに時間がかかる部分がありますが、そのような部分を編集すればもっと良いと思います。二つ目は実習画面が小さすぎてついて行くのが不便です。もっとzoom inを通して実習画面を拡大して撮ってほしいという残念がありますね。コンテンツ自体はVERY GOODです。ありがとうございます。

    • ybr09060304님의 프로필 이미지
      ybr09060304

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      69% đã tham gia

      5年目のJava開発からノードモンゴDBに転向しようと勉強中でしたが、多くのお役に立ちました。 多くの資料 絹を通して勉強してきたが、この資料が一番最初でした。これからも良い講義をお願いします。

      • vividjtj7313님의 프로필 이미지
        vividjtj7313

        Đánh giá 13

        Đánh giá trung bình 4.7

        5

        95% đã tham gia

        わかりやすく、よく教えていますㅎㅎ ただ、ディビの概念がああになければ途中でぼんやりする時があるㅎㅎ おすすめ!

        • ronaldys731345님의 프로필 이미지
          ronaldys731345

          Đánh giá 1

          Đánh giá trung bình 4.0

          4

          82% đã tham gia

          講義は本当に良いです。しかし、残念なことは、画面サイズが小さすぎてコードを見るのが大変でした。 画面サイズを少し育てたら、はるかに良い講義になったようです。 次の講義は、画面を生徒たちの主に合わせて育てて作って頂ければ幸いです。

          • sihoon
            Giảng viên

            神論様こんにちは:) 画面サイズのため不便でした。初めての講義で未熟な点が多いですね。 次のレッスンとモンゴルのレッスンを改善するときは、画面サイズを調整して録音するようにします!

        • kookdongkim5453님의 프로필 이미지
          kookdongkim5453

          Đánh giá 1

          Đánh giá trung bình 5.0

          5

          99% đã tham gia

          ベーシックを習うのはとても良いです

          1.611.106 ₫

          Khóa học khác của sihoon

          Hãy khám phá các khóa học khác của giảng viên!

          Khóa học tương tự

          Khám phá các khóa học khác trong cùng lĩnh vực!