Khi nào tôi nên sử dụng api dữ liệu mongodb?
API dữ liệu MongoDB có thể được sử dụng để truy vấn và cập nhật dữ liệu trong cơ sở dữ liệu MongoDB mà không cần trình điều khiển ngôn ngữ cụ thể Show
Trình điều khiển ngôn ngữ nên được sử dụng khi có thể, nhưng API dữ liệu MongoDB sẽ hữu ích khi trình điều khiển không có sẵn hoặc trình điều khiển quá mức cần thiết cho ứng dụng Đọc & Viết với MongoDB Data APIAPI dữ liệu MongoDB là một tập hợp các điểm cuối HTTPS được định cấu hình sẵn có thể được sử dụng để đọc và ghi dữ liệu vào cơ sở dữ liệu MongoDB Atlas Với API dữ liệu MongoDB, bạn có thể tạo, đọc, cập nhật, xóa hoặc tổng hợp tài liệu trong cơ sở dữ liệu MongoDB Atlas Cấu hình cụmĐể sử dụng API dữ liệu, trước tiên bạn phải kích hoạt chức năng từ Giao diện người dùng Atlas Từ bảng điều khiển MongoDB Atlas, điều hướng đến API dữ liệu trong menu bên trái Chọn (các) nguồn dữ liệu bạn muốn bật API và nhấp vào Bật API dữ liệu Cấp độ truy cậpTheo mặc định, không có quyền truy cập nào được cấp. Chọn cấp độ truy cập mà bạn muốn cấp cho API dữ liệu. Các lựa chọn là. Không có quyền truy cập, Chỉ đọc, Đọc và ghi hoặc Truy cập tùy chỉnh Khóa API dữ liệuĐể xác thực bằng API dữ liệu, trước tiên bạn phải tạo khóa API dữ liệu Nhấp vào Tạo khóa API, nhập tên cho khóa, sau đó nhấp vào Tạo khóa API Đảm bảo sao chép khóa API và lưu ở nơi an toàn. Bạn sẽ không có cơ hội khác để xem lại chìa khóa này Gửi yêu cầu API dữ liệuBây giờ chúng ta có thể sử dụng API dữ liệu để gửi yêu cầu đến cơ sở dữ liệu Trong ví dụ tiếp theo, chúng tôi sẽ sử dụng curl để tìm tài liệu đầu tiên trong bộ sưu tập 0 của cơ sở dữ liệu 1 của chúng tôi. Chúng tôi đã tải dữ liệu mẫu này trong phần Giới thiệu về Tổng hợp API dữ liệu cho phép bạn đọc và ghi dữ liệu một cách an toàn bằng các yêu cầu HTTPS tiêu chuẩn. API bao gồm các điểm cuối được tạo tự động, mỗi điểm cuối đại diện cho một thao tác MongoDB. Bạn có thể sử dụng các điểm cuối để tạo, đọc, cập nhật, xóa và tổng hợp tài liệu trong nguồn dữ liệu MongoDB Ví dụ, điều này POST lưu trữ tài liệu trong cụm được liên kết bằng cách gọi điểm cuối 9.
ẨN ĐẦU RA
Khi nào nên sử dụng API dữ liệuBạn có thể sử dụng API dữ liệu để tích hợp với bất kỳ ứng dụng hoặc dịch vụ nào hỗ trợ các yêu cầu HTTPS. Ví dụ, bạn có thể
Một thao tác được gọi thông qua điểm cuối API có thể sẽ mất nhiều thời gian hơn thao tác MongoDB tương ứng được gọi thông qua Trình điều khiển MongoDB được kết nối. Đối với các trường hợp sử dụng tải cao và các ứng dụng nhạy cảm với độ trễ, chúng tôi khuyên bạn nên kết nối trực tiếp với cơ sở dữ liệu của mình bằng trình điều khiển MongoDB. Để tìm hiểu thêm, hãy truy cập tài liệu Trình điều khiển MongoDB . URL cơ sởĐiểm cuối API dữ liệu trong một ứng dụng chia sẻ một URL cơ sở. URL sử dụng ID ứng dụng của bạn để trỏ duy nhất đến ứng dụng của bạn và chỉ định phiên bản API dữ liệu nào sẽ gọi. Mỗi điểm cuối có một URL duy nhất được hình thành bằng cách nối thêm tuyến đường của điểm cuối vào URL cơ sở của ứng dụng của bạn Các ứng dụng được triển khai trên toàn cầu sử dụng định dạng sau URL cơ sở điểm cuối (Ứng dụng toàn cầu)
Điểm cuối trong ứng dụng được triển khai cục bộ sử dụng URL cơ sở dành riêng cho ứng dụng khu vực triển khai (e. g. 0)URL cơ sở điểm cuối (Ứng dụng cục bộ)
Thiết lập API dữ liệuBạn có thể định cấu hình API dữ liệu cho ứng dụng của mình từ Giao diện người dùng dịch vụ ứng dụng hoặc bằng cách triển khai các tệp cấu hình với Realm CLI xác thựcĐiểm cuối API dữ liệu chạy trong ngữ cảnh của một người dùng cụ thể, điều này cho phép ứng dụng của bạn thực thi các quy tắc và xác thực lược đồ tài liệu cho từng yêu cầu Theo mặc định, các điểm cuối sử dụng Xác thực ứng dụng, yêu cầu mỗi yêu cầu bao gồm thông tin đăng nhập cho một trong những người dùng ứng dụng của bạn, như khóa API hoặc JWT. Bạn cũng có thể định cấu hình các lược đồ xác thực tùy chỉnh khác để phù hợp với nhu cầu của ứng dụng của mình Loại phản hồiĐiểm cuối có thể trả về dữ liệu ở một trong hai định dạng dữ liệu, JSON hoặc EJSON Theo mặc định, các điểm cuối trả về JSON, đây là định dạng dữ liệu tiêu chuẩn được hỗ trợ rộng rãi trên các ngôn ngữ và nền tảng hiện đại. Tuy nhiên, JSON không thể đại diện cho mọi loại dữ liệu mà bạn có thể lưu trữ trong MongoDB và mất thông tin loại đối với một số loại dữ liệu Bạn cũng có thể định cấu hình các điểm cuối để trả về EJSON, sử dụng các đối tượng JSON có cấu trúc để thể hiện đầy đủ các loại mà MongoDB hỗ trợ. Điều này bảo toàn thông tin loại trong phản hồi nhưng yêu cầu ứng dụng của bạn hiểu cách phân tích cú pháp và sử dụng EJSON MẹoTrình điều khiển MongoDB chính thức bao gồm các phương thức để làm việc với EJSON. Bạn cũng có thể tải xuống trình phân tích cú pháp độc lập như bson trên npm. Quyền truy cậpAPI dữ liệu sử dụng các quy tắc truy cập dữ liệu của ứng dụng của bạn để xác định xem người dùng có thể đọc và ghi dữ liệu hay không. Để cho phép các yêu cầu API dữ liệu truy cập vào một bộ sưu tập cụ thể, trước tiên bạn phải xác định các quy tắc cho bộ sưu tập đó Bạn cũng có thể thiết lập Danh sách truy cập IP để tăng cường bảo mật Phiên bản APIAPI dữ liệu sử dụng lược đồ lập phiên bản tích hợp để nâng cấp các điểm cuối theo thời gian trong khi vẫn duy trì khả năng tương thích ngược. Các yêu cầu đến có thể chỉ định phiên bản của điểm cuối sẽ sử dụng trong URL yêu cầu và API dữ liệu có thể phục vụ bất kỳ phiên bản nào mà bạn đã bật Bạn phải kích hoạt phiên bản mới trước khi người dùng có thể gọi điểm cuối bằng phiên bản đó. Bạn luôn có thể kích hoạt phiên bản Data API mới nhất. Tuy nhiên, bạn không thể bật phiên bản cũ hơn sau khi phiên bản mới hơn đã được phát hành Các phiên bản sau hiện đang được hỗ trợ
Gọi điểm cuối API dữ liệuBạn có thể gọi điểm cuối API dữ liệu từ bất kỳ ứng dụng khách HTTP tiêu chuẩn nào. Mỗi yêu cầu có thể bao gồm các tiêu đề và đối số cấu hình trong phần thân yêu cầu Chọn một phiên bản APIYêu cầu API dữ liệu chỉ định phiên bản API nào sẽ sử dụng trong URL yêu cầu. Yêu cầu có thể chỉ định bất kỳ phiên bản nào được bật cho ứng dụng của bạn
Chỉ định định dạng dữ liệu yêu cầuYêu cầu API dữ liệu phải bao gồm tiêu đề 3 để chỉ định định dạng dữ liệu được sử dụng trong nội dung yêu cầu
Chọn một định dạng dữ liệu phản hồiMột yêu cầu có thể bao gồm tiêu đề 6 để yêu cầu định dạng dữ liệu cụ thể cho nội dung phản hồi, JSON hoặc EJSON. Nếu yêu cầu không bao gồm tiêu đề 6 hợp lệ, thì phản hồi sẽ sử dụng định dạng dữ liệu được chỉ định trong cấu hình API dữ liệu của bạn. Xác thực yêu cầuĐể giữ cho dữ liệu của bạn an toàn và chính xác, các điểm cuối API dữ liệu được tạo luôn chạy trong ngữ cảnh của một người dùng cụ thể, đã đăng ký và tự động thực thi các quy tắc cũng như lược đồ của ứng dụng của bạn. Các yêu cầu đến phải bao gồm một hoặc nhiều tiêu đề chứa thông tin xác thực người dùng hợp lệ cho một trong những nhà cung cấp xác thực được bật sau đây
điểm cuốiTìm một tài liệu duy nhấtđiểm cuối
Thí dụ 7Nội dung yêu cầu 8Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Không bắt buộc A Bộ lọc truy vấn MongoDB . Hành động Nếu bạn không chỉ định 9, hành động sẽ khớp với tất cả tài liệu trong bộ sưu tập
chiếu sự vật Không bắt buộc A Phép chiếu truy vấn MongoDB . Tùy thuộc vào phép chiếu, tài liệu được trả về sẽ bỏ qua các trường cụ thể hoặc chỉ bao gồm các trường hoặc giá trị được chỉ định
Phản ứngHành động 8 trả về tài liệu phù hợp trong trường 73 5Nếu hành động không khớp với bất kỳ tài liệu nào, trường 73 là 75 8Tìm nhiều tài liệuđiểm cuối 0Thí dụ 1Nội dung yêu cầu 2Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Không bắt buộc A Bộ lọc truy vấn MongoDB . Hành động Nếu bạn không chỉ định 9, hành động sẽ khớp với tất cả tài liệu trong bộ sưu tậpNếu bộ lọc khớp với nhiều tài liệu hơn 78 đã chỉ định, thì hành động chỉ trả về một tập hợp con của chúng. Bạn có thể sử dụng 79 trong các truy vấn tiếp theo để trả về các tài liệu sau này trong tập kết quả
chiếu sự vật Không bắt buộc A Phép chiếu truy vấn MongoDB . Tùy thuộc vào phép chiếu, các tài liệu được trả về sẽ bỏ qua các trường cụ thể hoặc chỉ bao gồm các trường và giá trị được chỉ định.
loại sự vật Không bắt buộc A Biểu thức sắp xếp MongoDB . Các tài liệu khớp được trả về theo thứ tự tăng dần hoặc giảm dần của các trường được chỉ định trong biểu thức.
giới hạn con số Không bắt buộc Số lượng tài liệu phù hợp tối đa để đưa vào tập kết quả trả về. Mỗi yêu cầu có thể trả về tối đa 50.000 tài liệu 1000 nhảy con số Không bắt buộc Số tài liệu phù hợp cần bỏ qua trước khi thêm tài liệu phù hợp vào tập kết quả 0 Phản ứngHành động 76 trả về một mảng tài liệu phù hợp trong trường 84 3Nếu hành động không khớp với bất kỳ tài liệu nào, trường 84 là một mảng trống 4Chèn một tài liệu duy nhấtđiểm cuối 5Thí dụ 6Nội dung yêu cầu 7Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập tài liệu sự vật Yêu cầu Tài liệu EJSON để chèn vào bộ sưu tập. Phản ứngTác vụ 9 trả về giá trị 87 của tài liệu được chèn dưới dạng một chuỗi trong trường 88Chèn nhiều tài liệuđiểm cuối 8Thí dụ 9Nội dung yêu cầu 0Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập các tài liệu mảng đối tượng Yêu cầu Một mảng gồm một hoặc nhiều tài liệu EJSON để chèn vào bộ sưu tập. Phản ứngHành động 89 trả về các giá trị 87 của tất cả các tài liệu được chèn dưới dạng một chuỗi các chuỗi trong trường 51 1Cập nhật một tài liệu duy nhấtđiểm cuối 2Thí dụ 3Nội dung yêu cầu 4Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Yêu cầu A Bộ lọc truy vấn MongoDB . Tác vụ cập nhật sự vật Yêu cầu A Biểu thức cập nhật MongoDB chỉ định cách sửa đổi tài liệu phù hợp. lộn ngược boolean Không bắt buộc Cờ sai Phản ứngHành động 52 trả về
5Nếu 53 được đặt thành 55 và không có tài liệu nào phù hợp với bộ lọc, thì hành động đó sẽ trả về giá trị 87 của tài liệu được chèn dưới dạng một chuỗi trong trường 84 6Cập nhật nhiều tài liệuđiểm cuối 7Thí dụ 8Nội dung yêu cầu 4Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Yêu cầu A Bộ lọc truy vấn MongoDB . Hành động cập nhật sự vật Yêu cầu A Biểu thức cập nhật MongoDB chỉ định cách sửa đổi các tài liệu phù hợp. lộn ngược boolean Không bắt buộc Cờ sai Phản ứngHành động 85 trả về
0Nếu 53 được đặt thành 55 và không có tài liệu nào phù hợp với bộ lọc, thì hành động đó sẽ trả về giá trị 87 của tài liệu được chèn dưới dạng một chuỗi trong trường 84 6Thay thế một tài liệu duy nhấtđiểm cuối 2Thí dụ 3Nội dung yêu cầu 4Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Yêu cầu A Bộ lọc truy vấn MongoDB . Hành động thay thế sự vật Yêu cầu Tài liệu EJSON ghi đè lên tài liệu phù hợp. lộn ngược boolean Không bắt buộc Cờ sai Phản ứngHành động 08 trả về
5Nếu 53 được đặt thành 55 và không có tài liệu nào phù hợp với bộ lọc, thì hành động đó sẽ trả về giá trị 87 của tài liệu được chèn dưới dạng một chuỗi trong trường 84 6Xóa một tài liệuđiểm cuối 7Thí dụ 8Nội dung yêu cầu 9Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Yêu cầu A Bộ lọc truy vấn MongoDB . Tác vụ Phản ứngHành động 21 trả về số tài liệu đã xóa trong trường 23 0Xóa nhiều tài liệuđiểm cuối 1Thí dụ 2Nội dung yêu cầu 9Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập lọc sự vật Yêu cầu A Bộ lọc truy vấn MongoDB . Tác vụ Phản ứngHành động 24 trả về số lượng tài liệu đã xóa trong trường 23 4Chạy một đường ống tổng hợpđiểm cuối 5Thí dụ 6Nội dung yêu cầu 7Tên Loại hình sự cần thiết Sự mô tả Mặc định nguồn dữ liệu sợi dây Yêu cầu Tên của nguồn dữ liệu được liên kết cơ sở dữ liệu sợi dây Yêu cầu Tên của cơ sở dữ liệu thu thập sợi dây Yêu cầu Tên của bộ sưu tập đường ống mảng đối tượng Yêu cầu A Đường dẫn tổng hợp MongoDB. Phản ứngHành động 27 trả về tập kết quả của giai đoạn cuối cùng của quy trình dưới dạng một mảng tài liệu trong trường 84 8Mã lỗiMã số Sự mô tả 400 Yêu cầu sai Yêu cầu không hợp lệ. Điều này có thể có nghĩa là Tiêu đề yêu cầu bị thiếu Nội dung yêu cầu không đúng định dạng hoặc được mã hóa không đúng cách Một trường có giá trị với loại không hợp lệ Nguồn dữ liệu được chỉ định bị vô hiệu hóa hoặc không tồn tại Cơ sở dữ liệu hoặc bộ sưu tập được chỉ định không tồn tại 401 Không được phép Yêu cầu không bao gồm Khóa API được ủy quyền và kích hoạt. Đảm bảo rằng Khóa API của bạn được bật cho cụm |