Khi bạn đến với chương này, bạn đã thiết lập một cơ sở dữ liệu MongoDB, nhưng bạn chỉ có thể tương tác với nó thông qua MongoDB shell. Trong suốt chương này, bạn sẽ xây dựng API REST để có thể tương tác với cơ sở dữ liệu của mình thông qua các lệnh gọi HTTP và thực hiện các chức năng CRUD phổ biến. tạo, đọc, cập nhật và xóa
Amazon DocumentDB [có khả năng tương thích với MongoDB] là một dịch vụ cơ sở dữ liệu tài liệu nhanh, có thể thay đổi quy mô, độ khả dụng cao và được quản lý đầy đủ, hỗ trợ khối lượng công việc MongoDB. Amazon DocumentDB tương thích với MongoDB 3. 6 và 4. 0 API. Phần này liệt kê các chức năng được hỗ trợ. Để được hỗ trợ sử dụng trình điều khiển và API MongoDB, vui lòng tham khảo Diễn đàn cộng đồng MongoDB. Để được hỗ trợ sử dụng dịch vụ Amazon DocumentDB, vui lòng liên hệ với nhóm hỗ trợ AWS thích hợp. Để biết sự khác biệt về chức năng giữa Amazon DocumentDB và MongoDB, vui lòng xem Sự khác biệt về chức năng. Amazon DocumentDB và MongoDB
Các lệnh và toán tử MongoDB chỉ dành cho nội bộ hoặc không áp dụng cho dịch vụ được quản lý hoàn toàn không được hỗ trợ và không có trong danh sách chức năng được hỗ trợ
Chúng tôi đã thêm hơn 50 khả năng bổ sung kể từ khi ra mắt và sẽ tiếp tục làm việc ngược với khách hàng của mình để cung cấp các khả năng mà họ cần. Để biết thông tin về các lần ra mắt gần đây nhất, hãy xem Thông báo Amazon DocumentDB
Nếu có một tính năng không được hỗ trợ mà bạn muốn chúng tôi xây dựng, hãy cho chúng tôi biết bằng cách gửi email kèm theo ID tài khoản của bạn, các tính năng được yêu cầu và trường hợp sử dụng cho nhóm dịch vụ Amazon DocumentDB
MongoDB là một Cơ sở dữ liệu NoSQL nổi tiếng được tạo bởi MongoDB Inc. Đó là một ứng dụng Cơ sở dữ liệu hướng tài liệu đa nền tảng lưu trữ dữ liệu trong các tài liệu giống như JSON với các lược đồ tùy chọn
MongoDB sử dụng BSON và MQL, một ngôn ngữ giống như SQL. BSON [hoặc JSON nhị phân] là tuần tự hóa nhị phân của JSON cho phép biểu diễn các loại dữ liệu không phải JSON. BSON hỗ trợ các loại dữ liệu như Dài, Dấu phẩy động và Ngày không được JSON tiêu chuẩn hỗ trợ. Ví dụ: BSON hỗ trợ kiểu dữ liệu 'Ngày' thường được lưu dưới dạng kiểu chuỗi trong JSON
Hiểu kiến trúc của MongoDB
Dưới đây là các thuật ngữ và thành phần chính được liên kết với MongoDB
- _Tôi. Trường “_id” trong Tài liệu MongoDB đại diện cho một giá trị duy nhất. Trường _id đóng vai trò là khóa chính cho tài liệu. MongoDB sẽ tự động tạo trường _id nếu bạn tạo một tài liệu mới mà không có trường này, vì trường này là một phần không thể thiếu của mọi Tài liệu MongoDB
- Bộ sưu tập. Đây là một bộ Tài liệu MongoDB đã được nhóm. Một bộ sưu tập tương đương với một bảng trong bất kỳ Hệ thống quản lý cơ sở dữ liệu quan hệ [RDMS] nào khác, chẳng hạn như Oracle hoặc MS SQL. Một bộ sưu tập là một tập hợp con của cơ sở dữ liệu. Bộ sưu tập không áp đặt bất kỳ loại cấu trúc nào
- con trỏ. Con trỏ là con trỏ tới tập kết quả của truy vấn. Khách hàng có thể truy xuất kết quả bằng cách lặp qua con trỏ
- cơ sở dữ liệu. Cơ sở dữ liệu là nơi chứa các bộ sưu tập, tương tự như cách Hệ thống quản lý cơ sở dữ liệu quan hệ [RDMS] là nơi chứa các bảng.
- Tài liệu. Tài liệu là một bản ghi trong bộ sưu tập MongoDB. Tài liệu bao gồm tên trường và giá trị
- Đồng ruộng. Cặp tên-giá trị trong tài liệu được gọi là trường.
Các tính năng chính của MongoDB
- Hỗ trợ truy vấn. Truy vấn đặc biệt và dựa trên tài liệu được hỗ trợ bởi MongoDB
- Lược đồ điều chỉnh. Bạn có thể thay đổi lược đồ của cơ sở dữ liệu một cách nhanh chóng, giúp giảm thời gian cần thiết để thêm các tính năng mới hoặc sửa chữa các sự cố hiện tại
- Lưu trữ dữ liệu. Bạn có thể lưu trữ hầu hết mọi loại dữ liệu, cho dù đó là dữ liệu có cấu trúc, cấu trúc một phần hay đa hình
- GridFS. Một tệp có kích thước bất kỳ có thể được lưu trữ mà không làm lộn xộn ngăn xếp của bạn. GridFS chia tệp thành các phần nhỏ hơn và lưu chúng dưới dạng tài liệu riêng lẻ
- Nhân rộng. Nó có chức năng sao chép Master-Slave. MongoDB duy trì nhiều bản sao dữ liệu bằng các ứng dụng gốc. Một trong những lợi ích của Replica Set là nó có một phân đoạn tự phục hồi, giúp ngăn chặn thời gian ngừng hoạt động của cơ sở dữ liệu
- lập chỉ mục. Nếu không lập chỉ mục, cơ sở dữ liệu sẽ phải sàng lọc mọi tài liệu trong bộ sưu tập để tìm những tài liệu phù hợp với truy vấn, điều này sẽ không hiệu quả. Do đó, việc lập chỉ mục là cần thiết để tìm kiếm hiệu quả và MongoDB sử dụng nó để phân tích khối lượng lớn dữ liệu một cách nhanh chóng
- Bản đồGiảm. Để xử lý dữ liệu, MongoDB hỗ trợ MapReduce. Một lượng lớn dữ liệu được hợp nhất thành các kết quả tổng hợp có thể sử dụng được bằng MapReduce
- MQL. MongoDB sử dụng MongoDB Query Language [MQL], đây là một ngôn ngữ truy vấn mạnh mẽ và biểu cảm. Nó bao gồm các hoạt động CRUD [Tạo, Đọc, Cập nhật, Xóa], tổng hợp dữ liệu, tìm kiếm văn bản và tìm kiếm không gian địa lý
- Hỗ trợ nhiều máy chủ. MongoDB có thể chạy trên nhiều máy chủ. Dự phòng này có thể bảo vệ hệ thống khỏi lỗi phần cứng
- Bảo vệ. Đối với dữ liệu nhạy cảm, MongoDB hỗ trợ các khả năng bảo mật như xác thực, kiểm soát truy cập [người dùng, kiểm soát truy cập dựa trên vai trò] và mã hóa [TLS/SSL]. Các tính năng bảo mật có sẵn cũng được xác định bởi mức giá
- sharding. Khi so sánh với các lựa chọn Cơ sở dữ liệu quan hệ điển hình, MongoDB cung cấp khả năng mở rộng vượt trội. Nó cung cấp khả năng chia tỷ lệ theo chiều ngang [sharding], cho phép bạn thêm nhiều Phiên bản hơn với nhiều dung lượng hơn khi cần
Đơn giản hóa MongoDB và REST API ETL với Đường ống dữ liệu không mã của Hevo
Nền tảng Đường ống dữ liệu không có mã được quản lý hoàn toàn như Hevo Data giúp bạn tích hợp và tải dữ liệu từ MongoDB và hơn 100 Nguồn dữ liệu [bao gồm 40 Nguồn dữ liệu miễn phí như API REST] đến đích bạn chọn trong thời gian thực một cách dễ dàng.
Bắt đầu với Hevo miễn phíHevo với đường cong học tập tối thiểu có thể được thiết lập chỉ trong vài phút cho phép người dùng tải dữ liệu mà không phải ảnh hưởng đến hiệu suất. Sự tích hợp mạnh mẽ của nó với vô số nguồn như MongoDB cho phép người dùng đưa vào các loại dữ liệu khác nhau một cách mượt mà mà không cần phải viết mã một dòng nào. Trình kết nối API REST của Hevo cũng cho phép tải dữ liệu từ các nguồn không phải nguồn gốc
Kiểm tra một số tính năng thú vị của Hevo
- hoàn toàn tự động. Nền tảng Hevo có thể được thiết lập chỉ trong vài phút và yêu cầu bảo trì tối thiểu
- phép biến hình. Hevo cung cấp các chuyển đổi tải trước thông qua mã Python. Nó cũng cho phép bạn chạy mã chuyển đổi cho từng sự kiện trong Đường ống dữ liệu mà bạn đã thiết lập. Bạn cần chỉnh sửa các thuộc tính của đối tượng sự kiện nhận được trong phương thức biến đổi dưới dạng tham số để thực hiện chuyển đổi. Hevo cũng cung cấp các phép biến đổi kéo và thả như Hàm điều khiển và ngày, JSON và Thao tác sự kiện để đặt tên cho một số. Chúng có thể được cấu hình và kiểm tra trước khi đưa chúng vào sử dụng
- Truyền dữ liệu theo thời gian thực. Hevo cung cấp khả năng di chuyển dữ liệu theo thời gian thực từ các nguồn dữ liệu như Google Analytics và Shopify, vì vậy bạn luôn có thể có dữ liệu sẵn sàng cho phân tích
- Truyền dữ liệu hoàn chỉnh và chính xác 100%. Cơ sở hạ tầng mạnh mẽ của Hevo đảm bảo truyền dữ liệu đáng tin cậy mà không làm mất dữ liệu
- Cơ sở hạ tầng có thể mở rộng. Hevo có tích hợp sẵn cho hơn 100 nguồn có thể giúp bạn mở rộng quy mô cơ sở hạ tầng dữ liệu theo yêu cầu
- Hỗ trợ trực tiếp 24/7. Nhóm Hevo luôn sẵn sàng hỗ trợ đặc biệt cho bạn thông qua trò chuyện, email và các cuộc gọi hỗ trợ
- Quản lý lược đồ. Hevo loại bỏ nhiệm vụ quản lý lược đồ tẻ nhạt & tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó tới lược đồ đích
- Giám sát trực tiếp. Hevo cho phép bạn giám sát luồng dữ liệu để bạn có thể kiểm tra xem dữ liệu của mình đang ở đâu tại một thời điểm cụ thể
Giới thiệu về API REST
Nguồn hình ảnh
Lệnh trên sẽ tạo một gói. tập tin json
Bước 2. Cài đặt phụ thuộc ứng dụng
Để MongoDB REST API chạy, bạn cần một tệp sẽ đóng vai trò là trung tâm chỉ huy của ứng dụng. Khi bạn yêu cầu npm chạy ứng dụng của bạn, ban đầu nó sẽ chạy tệp này. Tệp này có thể bao gồm các phiên bản đối tượng của cả mô-đun của bạn và mô-đun của bên thứ ba được cài đặt từ thư mục npm
Bạn đã tạo một tệp có tên ứng dụng. js, đây sẽ là điểm vào chính của ứng dụng và đã cài đặt một số phụ thuộc cần thiết để chạy ứng dụng của bạn bằng các lệnh ở trên
Đây là những phụ thuộc
- Thể hiện. Một khuôn khổ cho Node. js
- MongoDB. Nhóm MongoDB đã cung cấp một mô-đun chính thức để cho phép Nút của bạn. ứng dụng js giao tiếp với MongoDB
- trình phân tích cú pháp cơ thể. Nó sẽ xử lý các nội dung yêu cầu với Express
Bước 3. Mã vận hành
Tại đây, bạn đang nhập các phụ thuộc mà bạn đã tải xuống trước đó. Sử dụng đối tượng Express để khởi tạo express framework, nó sẽ sử dụng express framework để khởi động máy chủ và chạy ứng dụng của bạn trên một cổng nhất định, cũng như định cấu hình trình phân tích cú pháp nội dung, là phần mềm trung gian phân tích các khối dữ liệu đến
Bước 4. Ứng dụng thử nghiệm cho MongoDB REST API
Bước 5. Thiết lập kết nối với MongoDB REST API
Đối với điều này, bạn sẽ cần chuỗi kết nối MongoDB REST API. Chọn Cụm từ bảng điều khiển Atlas, sau đó chọn trang Tổng quan rồi chọn nút Kết nối. Bạn sẽ cần thêm chuỗi vào ứng dụng. js và thực hiện các điều chỉnh mã sau
Bước 6. Xây dựng điểm cuối API MongoDB REST
Tiếp theo, bạn sẽ cần thiết lập và truy vấn các điểm cuối cho dữ liệu. Để thêm dữ liệu, chúng tôi sẽ cần xây dựng một điểm cuối. Để ứng dụng. js, thêm đoạn mã sau
Bước 7. Kiểm tra API MongoDB REST
Bạn sẽ thấy hồ sơ nhân sự cho John Doe được thêm vào cơ sở dữ liệu MongoDB của 'accounting_department. ’
MongoDB REST API của bạn đã sẵn sàng để sử dụng
Phần kết luận
Bài viết này đã chỉ ra cách tạo API MongoDB REST. Nó cũng giúp bạn hiểu sâu hơn về các tính năng của MongoDB và các giới hạn của kiến trúc REST, vì vậy bạn có thể hiểu rõ hơn và áp dụng MongoDB REST API khi cần
Trích xuất dữ liệu phức tạp từ một tập hợp các nguồn dữ liệu miễn phí đa dạng như API MongoDB và REST có thể là một nhiệm vụ đầy thách thức và đây là lúc Hevo tiết kiệm thời gian
Ghé thăm trang web của chúng tôi để khám phá HevoHevo Data cung cấp một cách nhanh hơn để di chuyển dữ liệu từ hơn 100 nguồn dữ liệu như ứng dụng SaaS, Cơ sở dữ liệu như MongoDB, Tệp, v.v. Hơn nữa, trình kết nối API REST gốc của Hevo có thể giúp kết nối với nhiều nguồn tùy chỉnh/không phải nguồn gốc vào Kho dữ liệu của bạn để được hiển thị trong công cụ BI. Hevo hoàn toàn tự động và do đó không yêu cầu bạn viết mã
Bạn muốn thử Hevo? . Bạn cũng có thể xem giá cạnh tranh nhất sẽ giúp bạn chọn gói phù hợp cho nhu cầu kinh doanh của mình