Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Hướng dẫn tự học MongoDB qua ví dụ (Mongo database)

  1. MongoDB là gì? Các khái niệm trong MongoDB
  2. Ưu nhược điểm của MongoDB, khi nào nên dùng MongoDB
  3. Hướng dẫn cài đặt, cấu hình MongoDB trên Windows
  4. Hướng dẫn cài đặt MongoDB trên Linux – Ubuntu
  5. Cài đặt và sử dụng Robo 3T (RoboMongo) trên Windows
  6. Tạo database trong MongoDB
  7. Xóa, DROP database trong MongoDB
  8. Tạo bảng, collections trong MongoDB
  9. Xóa bảng, collections trong MongoDB
  10. Insert document, bản ghi trong MongoDB
  11. Truy vấn dữ liệu, document – find(), Select, Where trong MongoDB
  12. Xóa document, row trong MongoDB
  13. Update document, dữ liệu trong MongoDB
  14. Projection trong MongoDB (chọn field được hiển thị trong kết quả tìm kiếm)
  15. Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)
  16. Sắp xếp trong MongoDB(sorting() trong MongoDB)
  17. Xóa cột, field, trường của collections trong MongoDB ($unset).
  18. Đổi tên field trong MongoDB với $rename

Nâng Cao

  1. System Collections là gì? Các System Collections trong MongoDB
  2. Các loại roles, vai trò, quyền trong MongoDB
  3. Bật, tắt chức năng đăng nhập MongoDB với username, password.
  4. Đăng nhập mongodb với username và password (database mongo)
  5. Tạo user/roles, phân quyền người dùng trên MongoDB
  6. MongoDB Remote Access – truy cập từ xa với MongoDB
  7. Replication trong MongoDB, Replica Set là gì?
  8. Cài đặt Replica Set, thêm mới node vào Replica Set
  9. Sao lưu và khôi phục database mongodb (mongodump/mongorestore)

Code ví dụ Java với MongoDB

  • Code ví dụ Java kết nối MongoDB, xóa database trong MongoDB
  • Code ví dụ Java MongoDB – Tạo database, collections, insert document.
  • Code ví dụ Java MongoDB – Search, Select, Find document
  • Code ví dụ Java Mongo – Update documents, update row
  • Code ví dụ Java MongoDB – Delete Document, Xóa document
  • Code ví dụ Spring Boot – Spring Data MongoDB với MongoRepository
  • Code ví dụ Spring Boot – Spring Data MongoDB hiển thị dữ liệu với Thymeleaf.

Code ví dụ Spring Boot với MongoDB

Khác

  1. Đánh chỉ mục là gì? Đánh chỉ mục trong MongoDB
 

References: https://docs.mongodb.com/manual/installation/ https://docs.mongodb.com/manual/mongo/  

  • Tutorial
  • Hỏi đáp
  • Posts
  • Trang Chủ
  • Tutorial
    • MySQL
    • SQL
    • C
    • C++
    • C#
    • HTML5
    • MongoDB
    • Git
    • Docker
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • Html
    • CSS
    • Javascript
    • PHP
  • Hỏi đáp
    • Mobile apps
    • MySQL
    • SQL
    • C
    • C
    • C++
    • C#
    • HTML5
    • MongoDB
    • Git
    • Docker
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • HTML5
    • MongoDB
    • MongoDB
    • Git
    • Docker
    • Docker
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • Html
    • CSS
    • Javascript
    • PHP
    • Hỏi đáp
    • Mobile apps
    • Linux
    • Centos
    • Sublime Text
    • ES6
    • Express
    • Web Design
    • UX
    • UI
    • Webpack
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • Html
    • CSS
    • Javascript
    • PHP
    • Java
    • Python
    • Html
    • CSS
    • Html
    • CSS
    • Javascript
    • PHP
  • Hỏi đáp
    • Mobile apps
    • MySQL
    • SQL
    • C
    • C
    • C++
    • C#
    • HTML5
    • MongoDB
    • Git
    • Docker
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • HTML5
    • MongoDB
    • MongoDB
    • Git
    • Docker
    • Docker
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • Html
    • CSS
    • Javascript
    • PHP
    • Hỏi đáp
    • Mobile apps
    • Linux
    • Centos
    • Sublime Text
    • ES6
    • Express
    • Web Design
    • UX
    • UI
    • Webpack
    • Web service
    • Unix
    • Apache
    • Java
    • Python
    • Html
    • CSS
    • Javascript
    • PHP
    • Java
    • Python
    • Html
    • CSS
    • Html
    • CSS
    • Javascript
    • PHP

Hỏi đáp

Mobile apps

Với những tín đồ của NoSQL thì MongoDB là một sự lựa chọn tuyệt vời, và trong thời đại mà ai ai cũng đòi đi đua đưa thì chẳng lý do gì mà chúng ta không thử get high đưa dữ liệu lên mây

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

MongoDB Atlas là cloud database của MongoDB được ra mắt vào năm 2016 chạy trên AWS, Microsoft Azure và Google Cloud Platform.cloud database của MongoDB được ra mắt vào năm 2016 chạy trên AWS, Microsoft Azure và Google Cloud Platform.

Dữ liệu trong mỗi Cluster ở Atlas được lưu trữ theo cơ chế Replication, với 3 nodes: 1 master (primary) và 2 slaves (secondary)

1. Get Started

Để bắt đầu sử dụng Atlas các bạn hay truy cập vào đây và nhấn ngay nút Start Free nhé Atlas các bạn hay truy cập vào đây và nhấn ngay nút Start Free nhé

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Cứ mạnh dạn mà đăng ký và yên tâm rằng với bản free thì Atlas sẽ không yêu cầu thẻ tín dụng để nhăm nhe trừ tiền mỗi khi bạn sơ suất như AWS đâu

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Ngay sau khi đăng ký thành công bạn có thể chọn lựa chọn dịch vụ, và coder nghèo như mình thì hiển nhiên chọn option free

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Tiếp đến là lựa chọn nơi đặt database của bạn cũng như các option kèm theo. Người ta bảo của rẻ là của ôi nên nếu không muốn mất đồng nào thì bạn chỉ được xài 512MB Storage, Shared RAM, 100 max connections và Low network performance512MB Storage, Shared RAM, 100 max connections và Low network performance

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Lựa chọn Create Cluster bạn sẽ được chuyển đến giao diện quản lý, điều mình thích ở Atlas là giao diện của nó cực kỳ thân thiện chứ không rối mắt như thằng AWS Create Cluster bạn sẽ được chuyển đến giao diện quản lý, điều mình thích ở Atlas là giao diện của nó cực kỳ thân thiện chứ không rối mắt như thằng AWS

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

2. Database Access

Bấm vào Database Access bạn sẽ đi đến màn hình quản lý user. Tại đây bạn có thể tạo ra user với các quyền là: Admin, Read and Write, Only Read và bạn có thể tạo ra Custom Role như quyền write hoặc read một Database cụ thể.Admin, Read and Write, Only Read và bạn có thể tạo ra Custom Role như quyền write hoặc read một Database cụ thể.

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Có hai các để đăng nhập là sử dụng Password và CertificatePasswordCertificate

3. Network Access

Click vào Network Access bạn sẽ đi đến màn hình quản lý Network.

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Tại đây bạn có thể quản lý những IP được phép connect đến Database của bạn. Bấm vào ADD IP ADDRESS để thực hiện thêm địa chỉ IP.ADD IP ADDRESS để thực hiện thêm địa chỉ IP.

Nếu bạn muốn access tất cả các địa chỉ IP thì có thể click vào ALLOW ACCESS FROM ANYWHEREALLOW ACCESS FROM ANYWHERE

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

4. Connect

Click vào Clusters để quản lý các clusters của bạn. Tại đây sẽ có đầy đủ report về Cluster của bạn kể cả biểu đồ Read, Write, Connect,... Clusters để quản lý các clusters của bạn. Tại đây sẽ có đầy đủ report về Cluster của bạn kể cả biểu đồ Read, Write, Connect,...

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas

Click vào Connect để lấy url connect cũng như đọc hướng dẫn.Connect để lấy url connect cũng như đọc hướng dẫn.

Bạn có thể connect đến MongoAtlas bằng cách:

  • SSH qua MongoDB Shell
mongo "mongodb+srv:///"  --username 
  • Connect bằng code trên application của bạn hoặc MongoDB Compass
mongodb+srv://:@/?retryWrites=true&w=majority
  • Connect đến ứng dụng bên thứ 3 như Robo3T: với cách này bạn cần chọn connect đến ReplicaSet thay vì Direct

5. Triggers

Nếu bạn đã làm việc với SQL thì chắc hẳn đã nghe đến tính năng này. Nó là tính tăng chạy một số câu lệnh mỗi khi có sự thay đổi về mặt dữ liệu, có thể là before hoặc after (insert, update, delete).

Thực ra ban đầu MongoDB không có hỗ trợ cho Triggers, người ta phải lắng nghe một thứ gọi là Replica Set Oplog, khi bạn chạy MongoDB trong Replica Set, tất cả các hành động của MongoDB được ghi vào nhật ký hoạt động (được gọi là oplog).Replica Set Oplog, khi bạn chạy MongoDB trong Replica Set, tất cả các hành động của MongoDB được ghi vào nhật ký hoạt động (được gọi là oplog).

Tuy nhiên từ phiên bản 3.6, MongoDB có một tính năng gọi là Change Streams hỗ trợ bạn stream các thay đổi. Tuy nhiên mình sẽ nói đến tính năng này trong một bài viết khác.Change Streams hỗ trợ bạn stream các thay đổi. Tuy nhiên mình sẽ nói đến tính năng này trong một bài viết khác.

Ở bài viết này, mình sẽ nói về Triggers mà Atlas hỗ trợ. Nó được viết dựa trên Change Streams của MongoDB.Triggers mà Atlas hỗ trợ. Nó được viết dựa trên Change Streams của MongoDB.

Click vào Triggers trên màn hình Altas của bạn để có thể quản lý các Triggers. Với MongoDB bạn có thể thực hiện Trigger với các Event: Insert, Update, Delete, Replace.Triggers trên màn hình Altas của bạn để có thể quản lý các Triggers. Với MongoDB bạn có thể thực hiện Trigger với các Event: Insert, Update, Delete, Replace.

Có hai cách để thực hiện Trigger:

  • Function: là dạng một hàm được Trigger, tại đây bạn có thể thao tác với Database, gọi một function mà bạn define trong Mongo hoặc call API.: là dạng một hàm được Trigger, tại đây bạn có thể thao tác với Database, gọi một function mà bạn define trong Mongo hoặc call API.
  • EventBridge: Bạn có thể connect đến AWS EventBridge để Trigger các serverless trên AWS Lambda.: Bạn có thể connect đến AWS EventBridge để Trigger các serverless trên AWS Lambda.

Ở bài viết này mình sẽ nói chi tiết về function.

changeEvent:

Database Trigger sẽ được call với một changeEvent parameter.

exports = function(changeEvent) {
  // Access the _id of the changed document:
  const docId = changeEvent.documentKey._id;

  // Access the latest version of the changed document
  // (with Full Document enabled for Insert, Update, and Replace operations):
  const fullDocument = changeEvent.fullDocument;

  const updateDescription = changeEvent.updateDescription;

  // See which fields were changed (if any):
  if (updateDescription) {
    const updatedFields = updateDescription.updatedFields; // A document containing updated fields
  }

  // See which fields were removed (if any):
  if (updateDescription) {
    const removedFields = updateDescription.removedFields; // An array of removed fields
  }
}

Thao tác với MongoDB Data:

exports = function(changeEvent) {
  // Access a mongodb service:
  const collection = context.services.get().db("db_name").collection("coll_name");
  const doc = collection.findOne({ name: "mongodb" });
  // Note: In Atlas Triggers, the service name is defaulted to the cluster name.
}

Call function:

exports = function(changeEvent) {
  Call other named functions if they are defined in your application:
  const result = context.functions.execute("function_name", arg1, arg2);
}

Call http service:

exports = function(changeEvent) {
  // Access the default http client and execute a GET request:
  const response = context.http.get({ url:  })
}

Bạn có thể tìm hiểu thêm về context ở đây.context ở đây.

6. Kết luận

Bài viết trên mình đã hướng dẫn các bạn để có thể bắt đầu với MongoDB Atlas, chúng khá đơn giản nếu bạn đã làm quen với MongoDB. Hi vọng với bài viết này các bạn sẽ có thêm một lựa chọn trong tech stack của mình.

Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas
Hướng dẫn mongodb atlas competitors - đối thủ cạnh tranh của mongodb atlas