Hướng dẫn what is data api in mongodb atlas? - api dữ liệu trong tập bản đồ mongodb là gì?

Trên trang này

  • Khi nào nên sử dụng API dữ liệu
  • Cách hoạt động của API dữ liệu
  • Bắt đầu
  • 1. Kích hoạt API dữ liệu
  • 2. Tạo khóa API dữ liệu
  • 3. Gửi yêu cầu API dữ liệu
  • Định cấu hình API dữ liệu
  • Phiên bản API
  • Quyền truy cập dữ liệu
  • Khóa xác thực và khóa API
  • Các mô hình & khu vực triển khai
  • Loại phản ứng
  • Gọi điểm cuối API dữ liệu
  • Chỉ định định dạng dữ liệu yêu cầu
  • Chọn định dạng dữ liệu phản hồi
  • Xác thực yêu cầu
  • Định dạng dữ liệu
  • Nhật ký yêu cầu
  • Yêu cầu giới hạn
  • Yêu cầu lưu lượng truy cập
  • Hóa đơn

API dữ liệu ATLAS MongoDB cho phép bạn đọc và ghi dữ liệu trong ATLAS với các yêu cầu HTTPS tiêu chuẩn. Để sử dụng API dữ liệu, tất cả những gì bạn cần là máy khách HTTPS và khóa API hợp lệ.

Khách hàng gửi các yêu cầu đến các điểm cuối cụ thể, mỗi điểm đại diện cho một hoạt động MongoDB. API bao gồm các điểm cuối tạo, đọc, cập nhật, xóa và tổng hợp các tài liệu trong cụm của bạn. Yêu cầu Chỉ định một bộ sưu tập và bao gồm các tham số dành riêng cho hoạt động như bộ lọc truy vấn hoặc mô tả cập nhật. Ngoài ra, tất cả các yêu cầu đến phải bao gồm khóa API dữ liệu để xác thực người dùng gọi.

Đối với mỗi yêu cầu, API dữ liệu xác thực người dùng và kiểm tra quyền đọc/ghi của cụm. Nếu yêu cầu của người dùng được ủy quyền, thì API xác nhận yêu cầu, chạy hoạt động cơ sở dữ liệu tương ứng và trả về kết quả trong phản hồi HTTPS.

Ví dụ: Yêu cầu bài đăng này lưu trữ một tài liệu trong Atlas bằng cách gọi điểm cuối

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
1:POST request stores a document in Atlas by calling the
curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
1 endpoint:

curl --request POST \
'https://data.mongodb-api.com/app/data-abcde/endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: TpqAKQgvhZE4r6AOzpVydJ9a3tB1BLMrgDzLlBLbihKNDzSJWTAHMVbsMoIOpnM6' \
--data-raw '{
"dataSource": "Cluster0",
"database": "learn-data-api",
"collection": "hello",
"document": {
"text": "Hello from the Data API!",
}
}'

{"insertedId":"5f1a785e1536b6e6992fd588"}

Bạn có thể sử dụng API dữ liệu để tích hợp ATLAS vào bất kỳ ứng dụng và dịch vụ nào hỗ trợ các yêu cầu HTTPS. Ví dụ: bạn có thể:

  • Gọi API từ chức năng cạnh máy chủ không

  • Truy cập dữ liệu kiểm tra và các sự kiện nhật ký trong quy trình làm việc CI/CD

  • Tích hợp Atlas vào Cổng API được liên kết

  • Kết nối từ một môi trường hiện không được hỗ trợ thông qua trình điều khiển MongoDB hoặc SDK của Realm

Một hoạt động được gọi qua điểm cuối API có thể sẽ mất nhiều thời gian hơn so với hoạt động 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 độ 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 bạn với 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.MongoDB Drivers documentation.

API dữ liệu không phải là kết nối trực tiếp với cơ sở dữ liệu của bạn. Thay vào đó, nó định tuyến các yêu cầu thông qua một lớp phần mềm trung gian được quản lý đầy đủ, được gọi là Dịch vụ ứng dụng Atlas, nằm giữa các ứng dụng cụm và ứng dụng khách của bạn. Lớp này xử lý xác thực người dùng và thực thi các quy tắc truy cập dữ liệu để đảm bảo rằng dữ liệu của bạn được bảo mật.

Bạn có thể nhanh chóng thiết lập và truy cập API dữ liệu thông qua ATLAS, tạo ra và quản lý ứng dụng Dịch vụ ứng dụng cho bạn. ATLAS hỗ trợ xác thực khóa API với một số mô hình quyền cơ bản.quickly set up and access the Data API through Atlas, which creates and manages an App Services app for you. Atlas supports API key authentication with several basic permissions models.

Bạn cũng có thể xác định các quyền truy cập API phức tạp hơn và các điểm cuối tùy chỉnh bằng cách truy cập trực tiếp vào ứng dụng API ATLAS Data API được quản lý hoặc bật API trong ứng dụng của riêng bạn.

Để tìm hiểu thêm về các dịch vụ ứng dụng và cách API dữ liệu hoạt động, hãy xem API dữ liệu (Dịch vụ ứng dụng).Data API (App Services).

Thực hiện theo các bước bên dưới để thiết lập API dữ liệu và gửi các yêu cầu đầu tiên của bạn.

API dữ liệu bị tắt theo mặc định. Để sử dụng API, bạn cần bật nó trong Atlas UI cho một hoặc nhiều cụm.

Nhấp vào API dữ liệu trong menu điều hướng bên trái. Trên màn hình sau, chọn một hoặc nhiều cụm mà bạn muốn bật API từ menu thả xuống và sau đó nhấp vào Bật API dữ liệu.Data API in the left navigation menu. On the following screen, select one or more clusters that you want to enable the API on from the dropdown menu and then click Enable the Data API.

Ghi chú

Bạn có thể bật hoặc tắt API dữ liệu cho cụm bất cứ lúc nào từ màn hình API dữ liệu.Data API screen.

API dữ liệu sử dụng các khóa API cấp dự án để quản lý truy cập và ngăn chặn các yêu cầu trái phép. Mỗi yêu cầu phải bao gồm khóa API dữ liệu hợp lệ.

Một khóa API dữ liệu cấp cho truy cập đọc và ghi đầy đủ mỗi bộ sưu tập trong một cụm và có thể truy cập bất kỳ cụm nào được bật trong dự án.

Quan trọng

Các khóa API dữ liệu không giống như các khóa API lập trình được sử dụng để truy cập API ATLAS và APP Services Management API.

Nhấp vào Tạo khóa API, nhập một tên duy nhất cho khóa mới, sau đó nhấp vào Tạo khóa API.Create API Key, enter a unique name for the new key, and then click Create API Key.

Bây giờ bạn có thể xem và sao chép khóa API mới của mình lần đầu tiên và duy nhất. Khi bạn đóng phương thức, Atlas sẽ không bao giờ phơi bày giá trị nữa.

Sao chép khóa API mới và lưu trữ ở một nơi nào đó an toàn, nơi bạn có thể tham khảo nó sau. Các khóa API dữ liệu rất nhạy cảm, vì vậy hãy đảm bảo không mã hóa chúng trực tiếp vào các ứng dụng hướng tới người dùng hoặc cam kết chúng điều khiển phiên bản.

Mẹo

Bạn có thể xóa khóa API dữ liệu bất cứ lúc nào. Bất kỳ yêu cầu bao gồm khóa đã xóa sẽ thất bại. Bạn có thể xóa khóa để ngăn khách hàng hiện tại tiếp tục sử dụng API hoặc nếu bạn vô tình để lộ khóa và cần thay thế nó.

Bạn bao gồm khóa API dữ liệu của mình khi bạn gọi các điểm cuối hành động đọc và ghi tài liệu bằng MongoDB. Để biết danh sách tất cả các hành động và điểm cuối có sẵn, hãy xem tài nguyên API dữ liệu.

Bạn có thể chạy các lệnh sau trong vỏ để đảm bảo mọi thứ hoạt động và sau đó bắt đầu khám phá:

Mẹo

Đảm bảo thay thế các giá trị giữ chỗ trước khi bạn chạy từng yêu cầu:

  • curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    2: ID ứng dụng API dữ liệu của bạn, mà bạn có thể tìm thấy trong phần điểm cuối URL của UI.URL Endpoint section of the UI.

  • curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    3: Khóa API dữ liệu bạn vừa tạo.

  • curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    4: Tên của một cụm có API dữ liệu được bật.

  1. Chèn một tài liệu kiểm tra:

    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "document": {
    "name": "John Sample",
    "age": 42
    }
    }'

  2. Sau đó, tìm tài liệu kiểm tra mà bạn vừa chèn:

    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'

  3. Cuối cùng, xóa tài liệu kiểm tra:

    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'

Bạn có thể định cấu hình triển khai API của mình và cách người dùng tương tác với API.

API dữ liệu sử dụng sơ đồ phiên bản tích hợp để nâng cấp các điểm cuối theo thời gian trong khi 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 nào 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 bật phiên bản mới trước khi người dùng có thể gọi điểm cuối với phiên bản đó. Bạn luôn có thể bật phiên bản API dữ liệu gần đây 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 đây hiện đang được hỗ trợ:

  • curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    5

  • curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    6

API dữ liệu ATLAS cho phép bạn xác định các quyền đọc/ghi cấp cụm áp dụng cho tất cả các yêu cầu đến. Bạn có thể xác định một trong những điều sau đây cho mỗi cụm:

  • Đọc và viết: Yêu cầu có thể đọc tất cả dữ liệu và có thể chèn, sửa đổi hoặc xóa dữ liệu trong bất kỳ bộ sưu tập nào.: Requests can read all data and can insert, modify, or delete data in any collection.

  • Chỉ đọc: Yêu cầu có thể đọc tất cả dữ liệu trong bất kỳ bộ sưu tập nào nhưng không thể viết bất kỳ dữ liệu nào.: Requests can read all data in any collection but cannot write any data.

  • Không có quyền truy cập: Yêu cầu không thể đọc hoặc viết bất kỳ dữ liệu nào trong bất kỳ bộ sưu tập nào.: Requests can't read or write any data in any collection.

Để có các quyền phức tạp hơn, bạn có thể xác định các quy tắc truy cập dữ liệu tùy chỉnh trong ứng dụng API ATLAS Data được quản lý.data access rules in the managed Atlas Data API app.

API dữ liệu ATLAS hỗ trợ xác thực người dùng với các khóa API. Yêu cầu đến phải bao gồm khóa API trong tiêu đề yêu cầu. Bạn có thể tạo tối đa 100 khóa API dữ liệu.

Để cho phép người dùng xác thực các yêu cầu với một phương thức khác, như tên người dùng và mật khẩu hoặc mã thông báo JSON Web, bạn có thể bật các nhà cung cấp xác thực bổ sung trong ứng dụng API ATLAS Data API được quản lý.authentication providers in the managed Atlas Data API app.

Lớp dịch vụ ứng dụng chạy các quy trình API dữ liệu yêu cầu trên các máy chủ được quản lý được lưu trữ trong các khu vực triển khai trên toàn thế giới. Bạn có thể kiểm soát nơi bạn triển khai API dữ liệu của mình và các yêu cầu xử lý bằng một trong hai mô hình triển khai:

  • Triển khai toàn cầu lưu trữ API của bạn trên các máy chủ ở mọi khu vực được hỗ trợ trên toàn thế giới. API tự động định tuyến và xử lý các yêu cầu đến đến máy chủ gần nhất với người dùng yêu cầu. deployment hosts your API on servers in every supported region across the world. The API automatically routes and processes incoming requests to the server that's nearest to the requesting user.

  • Triển khai cục bộ lưu trữ các máy chủ API của bạn trong một khu vực triển khai cụ thể trong AWS hoặc Azure. API xử lý tất cả các yêu cầu đến trong khu vực địa phương. deployment hosts your API servers in one specific deployment region in AWS or Azure. The API processes all incoming requests in the local region.

    Để biết danh sách các khu vực được hỗ trợ, hãy xem các mô hình & khu vực triển khai trong tài liệu dịch vụ ứng dụng.Deployment Models & Regions in the App Services docs.

Các đ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.data formats, either JSON or EJSON.

Theo mặc định, các điểm cuối trả về JSON, là một định dạng dữ liệu tiêu chuẩn được hỗ trợ rộng rãi trong các nền tả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 cho 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 tồn thông tin loại trong các 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 và sử dụng EJSON.

Mẹo

Các trình điều khiển MongoDB chính thức bao gồm các phương pháp 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.bson on npm.

Bạn có thể gọi điểm cuối API dữ liệu từ bất kỳ máy khách HTTP tiêu chuẩn nào. Mỗi yêu cầu có thể bao gồm các tiêu đề cấu hình và đối số trong thân yêu cầu.

Yêu cầu API dữ liệu phải bao gồm tiêu đề

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
7 để chỉ định định dạng dữ liệu được sử dụng trong thân yêu cầu.data format used in the request body.

  • Sử dụng

    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    8 để biểu diễn các loại JSON tiêu chuẩn trong thân yêu cầu API dữ liệu.

  • Sử dụng

    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    9 để biểu thị các loại JSON tiêu chuẩn và các loại EJSON bổ sung trong thân yêu cầu API dữ liệu.

Yêu cầu có thể bao gồm tiêu đề

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
0 để yêu cầu định dạng dữ liệu cụ thể cho thân phản hồi, JSON hoặc EJSON. Nếu một yêu cầu không bao gồm tiêu đề
curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
0 hợp lệ, phản hồi 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.Data API configuration.

Để 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 bối cảnh của một người dùng đã đăng ký cụ thể và tự động thực thi các quy tắc và 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 đề có chứa thông tin xác thực người dùng hợp lệ cho một trong các nhà cung cấp xác thực được kích hoạt sau:rules and schemas. Incoming requests must include one or more headers that contain valid user credentials for one of the following enabled authentication providers:

  • Email/Password

  • Mã API

  • JWT tùy chỉnh

MongoDB lưu trữ dữ liệu theo định dạng gọi là BSON, tương tự như đối tượng JSON trong cấu trúc nhưng hỗ trợ các loại dữ liệu bổ sung và sử dụng mã hóa nhị phân. BSON hiệu quả cho máy tính nhưng không thể đọc được con người nên bạn không thể làm việc trực tiếp với nó.

Thay vào đó, API dữ liệu sử dụng hai định dạng để biểu diễn dữ liệu trong các yêu cầu và phản hồi:

  • Định dạng JSON sử dụng các loại tiêu chuẩn mà bất kỳ công cụ nào cũng có thể phân tích và hiểu. Tuy nhiên, JSON không thể đại diện cho tất cả các loại BSON để phản hồi JSON có thể mất thông tin loại cho một số trường. Ví dụ, BSON có các loại riêng biệt cho số nguyên 32 bit và phao 64 bit nhưng phản hồi JSON đại diện cho cả hai dưới dạng

    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    2.JSON format uses standard types that any tool can parse and understand. However, JSON cannot represent all BSON types so JSON responses may lose type information for some fields. For example, BSON has distinct types for 32-bit integers and 64-bit floats but a JSON response represents both as a
    curl --request POST \
    'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
    --header 'Content-Type: application/json' \
    --header 'api-key: ' \
    --data-raw '{
    "dataSource": "",
    "database": "learn-data-api",
    "collection": "people",
    "filter": { "name": "John Sample" }
    }'
    2.

  • Định dạng EJSON, viết tắt của JSON mở rộng MongoDB, là một siêu JSON tiêu chuẩn sử dụng các trường có cấu trúc để thể hiện dữ liệu BSON không có các loại JSON tương ứng. Điều này thể hiện đầy đủ dữ liệu của bạn nhưng yêu cầu khách hàng của bạn hiểu cách làm việc với EJSON.EJSON format, short for MongoDB Extended JSON, is a superset of standard JSON that uses structured fields to represent BSON data that don't have corresponding JSON types. This fully represents your data but requires your client to understand how to work with EJSON.

Thí dụ

Tài liệu sau đây cho thấy các loại BSON được biểu thị trong JSON và EJSON:

Bảng sau so sánh các biểu diễn JSON và EJSON của từng loại được hỗ trợ:

Loại hình

Ejson

Json

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
3

[ ]

[ ]

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
4

{
"$binary": {
"base64": "e67803a39588be8a95731a21e27d7391",
"subType": "05"
}
}

{
"Subtype": 5,
"Data": "e67803a39588be8a95731a21e27d7391"
}

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
5

{
"$date": {
"$numberLong": "1641954803067"
}
}

{"insertedId":"5f1a785e1536b6e6992fd588"}

0

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
6

{"insertedId":"5f1a785e1536b6e6992fd588"}

1

{"insertedId":"5f1a785e1536b6e6992fd588"}

2

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
7

{"insertedId":"5f1a785e1536b6e6992fd588"}

3

{"insertedId":"5f1a785e1536b6e6992fd588"}

4

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
8

{"insertedId":"5f1a785e1536b6e6992fd588"}

5

{"insertedId":"5f1a785e1536b6e6992fd588"}

6

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/deleteOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
9

{"insertedId":"5f1a785e1536b6e6992fd588"}

7

{"insertedId":"5f1a785e1536b6e6992fd588"}

8

[ ]

0

{"insertedId":"5f1a785e1536b6e6992fd588"}

9

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
0

[ ]

1

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
1

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
2

Không có JSON tương đương

[ ]

2

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
3

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
2

Không có JSON tương đương

[ ]

3

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
5

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
6

[ ]

4

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
7

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
8

[ ]

5

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/insertOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"document": {
"name": "John Sample",
"age": 42
}
}'
9

curl --request POST \
'https://data.mongodb-api.com/app//endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'api-key: ' \
--data-raw '{
"dataSource": "",
"database": "learn-data-api",
"collection": "people",
"filter": { "name": "John Sample" }
}'
0

API dữ liệu ghi lại tất cả các yêu cầu và lưu trữ nhật ký trong 30 ngày.

Bạn có thể xem chúng trên màn hình API dữ liệu trong tab nhật ký.Data API screen in the Logs tab.

API dữ liệu thực thi các hạn chế sau trên tất cả các yêu cầu:

  • Yêu cầu đến không được vượt quá 18 MB.

  • Hàm lượng cơ thể phản hồi không được vượt quá 16 MB.

  • Thời gian xử lý yêu cầu không được vượt quá 90 giây.

API dữ liệu giới hạn yêu cầu lưu lượng truy cập đến 5.000 yêu cầu đồng thời. Bất kỳ yêu cầu nào được thực hiện vượt quá giới hạn này trả về mã trạng thái phản hồi HTTP là 429 - quá nhiều yêu cầu. Bạn có thể yêu cầu giới hạn cao hơn bằng cách nộp vé hỗ trợ.429 - Too Many Requests. You can request a higher limit by filing a support ticket.

API dữ liệu có giá dựa trên việc sử dụng được đo bằng ứng dụng dịch vụ ứng dụng cơ bản. Để biết chi tiết, xem thanh toán dịch vụ ứng dụng.App Services Billing.

Việc sử dụng API dữ liệu được lập hóa đơn dựa trên các kích thước sau:

  • Yêu cầu: Mọi hành động đều thêm một yêu cầu vào tổng số hóa đơn của bạn bất kể hành động có thành công hay không. Every action adds one request to your billed total regardless of whether or not the action is successful.

  • Tính toán: Mọi hóa đơn hành động cho thời gian và bộ nhớ mà máy chủ sử dụng để xử lý hành động. Việc sử dụng chính xác phụ thuộc vào khối lượng công việc của bạn. Every action bills for time and memory that the server uses to process the action. The exact usage depends on your workload.

  • Chuyển dữ liệu: Mọi hóa đơn hành động cho dữ liệu được trả lại cho người gọi trong phản hồi. Phản hồi có thể bao gồm tập hợp kết quả của hành động hoặc siêu dữ liệu mô tả kết quả của hành động. Every action bills for data returned to the caller in the response. The response may include the result set of the action or metadata that describes the result of the action.

API dữ liệu ATLAS MongoDB là gì?

API dữ liệu ATLAS MongoDB cho phép bạn đọc và ghi dữ liệu trong ATLAS với các yêu cầu HTTPS tiêu chuẩn.Để sử dụng API dữ liệu, tất cả những gì bạn cần là máy khách HTTPS và khóa API hợp lệ.Khách hàng gửi các yêu cầu đến các điểm cuối cụ thể, mỗi điểm đại diện cho một hoạt động MongoDB.lets you read and write data in Atlas with standard HTTPS requests. To use the Data API, all you need is an HTTPS client and a valid API key. Clients send requests to specific endpoints, which each represent a MongoDB operation.

API trong MongoDB là gì?

API truy vấn MongoDB được xây dựng có mục đích để xử lý dữ liệu của bất kỳ cấu trúc nào.Nhanh chóng truy vấn, chuyển đổi và phân tích dữ liệu khi lược đồ của bạn phát triển.purpose-built to handle data of any structure. Quickly query, transform, and analyze data as your schema evolves.

MongoDB Atlas có phải là API không?

Hôm nay, chúng tôi rất vui mừng được thông báo bước tiếp theo trong nhiệm vụ này với việc giới thiệu API dữ liệu ATLAS MongoDB-API được quản lý đầy đủ, được quản lý đầy đủ để truy cập dữ liệu ATLAS của bạn.a fully managed, REST-like API for accessing your Atlas data.

API RESTODB REST là gì?

MongoDB REST API rất đơn giản để thiết lập và cho phép bạn lưu trữ và truy xuất các tài liệu, làm cho nó tuyệt vời cho dữ liệu phi cấu trúc.Sử dụng Express JS làm máy chủ web phụ trợ với MongoDB làm kho tài liệu là một cách phổ biến để thực hiện chiến lược API MongoDB REST.allows you to store and retrieve documents, making it great for Unstructured Data. Using Express JS as the backend web server with MongoDB as the document store is a common way of implementing the MongoDB REST API strategy.