Học MongoDB Aggregation Qua 10 'Bài Toán' Thực Tế Cực Dễ Hiểu!
Lê Lân
0
MongoDB Aggregation Framework: 10 Bài Toán Thực Tế Cùng Bộ Dữ Liệu Người Dùng Mẫu
Mở Đầu
MongoDB là một trong những hệ quản trị cơ sở dữ liệu NoSQL phổ biến nhất hiện nay, và Bộ công cụ Aggregation của nó là một phần không thể thiếu giúp phân tích dữ liệu chuyên sâu ngay trong cơ sở dữ liệu. Tuy nhiên, nhiều người vẫn còn lúng túng hoặc chưa khai thác hết sức mạnh của Aggregation Framework.
Trong bài viết này, chúng ta sẽ cùng khám phá 10 bài toán thực tế sử dụng Aggregation Framework trên một bộ dữ liệu mẫu về người dùng. Qua đó, bạn sẽ hiểu rõ hơn cách sử dụng các operator, pipeline stages trong MongoDB để xử lý và phân tích dữ liệu hiệu quả. Đây cũng là bài tập hữu ích cho những ai đang chuẩn bị phỏng vấn, xây dựng ứng dụng phân tích hoặc làm khoa học dữ liệu với MongoDB.
Bộ Dữ Liệu Mẫu: users
name
age
country
gender
signupDate
Alice
28
USA
female
2023-12-20T10:15:00Z
Bob
34
Canada
male
2024-01-15T12:00:00Z
Charlie
22
India
male
2024-02-05T09:45:00Z
Diana
30
USA
female
2024-03-01T08:30:00Z
Eve
29
India
female
2024-01-25T11:20:00Z
Frank
40
Canada
male
2024-02-10T14:50:00Z
Grace
19
USA
female
2024-03-10T07:10:00Z
Harry
31
UK
male
2024-03-12T17:40:00Z
Ivy
27
India
female
2024-01-01T06:00:00Z
Jack
36
Canada
male
2024-02-20T18:15:00Z
1. Đếm Số Lượng Người Dùng Theo Quốc Gia
Mục tiêu
Tính tổng số người dùng phân theo từng quốc gia.
Query
[
{ $group:{ _id:"$country", totalUsers:{ $sum:1}}}
]
Giải thích
$group: Gom nhóm tài liệu theo _id là trường country.
$sum: 1: Đếm số người dùng trong mỗi nhóm.
Lưu ý: Đây là phép nhóm tổng quát thường dùng để thống kê dữ liệu theo danh mục.
10. Đếm Người Dùng Tuổi Từ 25 Đến 35 Theo Giới Tính
Mục tiêu
Thống kê số người dùng có độ tuổi từ 25 đến 35, phân theo giới tính.
Query
[
{ $match:{ age:{ $gte:25, $lte:35}}},
{ $group:{ _id:"$gender", count:{ $sum:1}}}
]
Kết Luận
MongoDB Aggregation Framework cung cấp bộ công cụ đa dạng để xử lý và phân tích dữ liệu ngay trong database. Qua 10 bài toán thực tế với dữ liệu người dùng mẫu, bạn đã được trải nghiệm từ các phép nhóm đơn giản đến các thao tác phức tạp như chuyển đổi kiểu dữ liệu ngày tháng và phân tích theo thời gian.
Hãy dành thời gian luyện tập các bài tập này thường xuyên để nâng cao kỹ năng truy vấn MongoDB, cũng như áp dụng vào các dự án thực tế, báo cáo và dashboard một cách hiệu quả.