API dữ liệu MongoDB
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ể.
Nên sử dụng trình điều khiển ngôn ngữ khi có thể, nhưng API dữ liệu MongoDB sẽ hữu ích khi không có trình điều khiển hoặc trình điều khiển quá mức cần thiết cho ứng dụng.
Đọc và ghi bằng API dữ liệu MongoDB
API 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 ở 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ập
Theo mặc định, không có quyền truy cập nào được cấp. Chọn cấp truy cập bạn muốn cấp API dữ liệu. Các lựa chọn là: Không có quyền truy cập, Chỉ đọc, Đọc và viết 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 .
Hãy nhớ sao chép khóa API và lưu nó ở 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ệu
Bâ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 movies
của cơ sở dữ liệu sample_mflix
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ập hợp .
Để chạy ví dụ này, bạn sẽ cần Id ứng dụng, Khóa API và tên cụm.
Bạn có thể tìm thấy Id ứng dụng của mình trong trường Điểm cuối URL của trang API dữ liệu trong Giao diện người dùng MongoDB Atlas.
Ví dụ
curl --location --request POST 'https://data.mongodb-api.com/app/<DATA API APP ID>/endpoint/data/v1/action/findOne' \
--header 'Content-Type: application/json' \
--header 'Access-Control-Request-Headers: *' \
--header 'api-key: <DATA API KEY>' \
--data-raw '{
"dataSource":"<CLUSTER NAME>",
"database":"sample_mflix",
"collection":"movies",
"projection": {"title": 1}
}'
Hãy tự mình thử »Điểm cuối API dữ liệu
Trong ví dụ trước, chúng tôi đã sử dụng điểm cuối findOne
trong URL của mình.
Có một số điểm cuối có sẵn để sử dụng với API dữ liệu.
Tất cả các điểm cuối đều bắt đầu bằng URL cơ sở: https://data.mongodb-api.com/app/<Data API App ID>/endpoint/data/v1/action/
Tìm một tài liệu duy nhất
Điểm cuối
POST Base_URL/findOne
Điểm cuối findOne
được sử dụng để tìm một tài liệu trong bộ sưu tập.
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"filter": <query filter>,
"projection": <projection>
}
Tìm nhiều tài liệu
Điểm cuối
POST Base_URL/find
Điểm cuối find
được sử dụng để tìm nhiều tài liệu trong một bộ sưu tập.
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"filter": <query filter>,
"projection": <projection>,
"sort": <sort expression>,
"limit": <number>,
"skip": <number>
}
Chèn một tài liệu duy nhất
Điểm cuối
POST Base_URL/insertOne
Điểm cuối insertOne
được sử dụng để chèn một tài liệu vào bộ sưu tập.
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"document": <document>
}
Chèn nhiều tài liệu
Điểm cuối
POST Base_URL/insertMany
Điểm cuối insertMany
được sử dụng để chèn nhiều tài liệu vào một bộ sưu tập.
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"documents": [<document>, <document>, ...]
}
Cập nhật một tài liệu
Điểm cuối
POST Base_URL/updateOne
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"filter": <query filter>,
"update": <update expression>,
"upsert": true|false
}
Cập nhật nhiều tài liệu
Điểm cuối
POST Base_URL/updateMany
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"filter": <query filter>,
"update": <update expression>,
"upsert": true|false
}
Xóa một tài liệu
Điểm cuối
POST Base_URL/deleteOne
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"filter": <query filter>
}
Xóa nhiều tài liệu
Điểm cuối
POST Base_URL/deleteMany
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"filter": <query filter>
}
Tài liệu tổng hợp
Điểm cuối
POST Base_URL/aggregate
Nội dung yêu cầu
Ví dụ
{
"dataSource": "<data source name>",
"database": "<database name>",
"collection": "<collection name>",
"pipeline": [<pipeline expression>, ...]
}