MONGODB CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Aggregation trong MongoDB

Aggregation có thể hiểu là sự tập hợp. Các Aggregation operation xử lý các bản ghi dữ liệu và trả về kết quả đã được tính toán. Các phép toán tập hợp nhóm các giá trị từ nhiều Document lại với nhau, và có thể thực hiện nhiều phép toán đa dạng trên dữ liệu đã được nhóm đó để trả về một kết quả duy nhất. Trong SQL, count(*) và GROUP BY là tương đương với Aggregation trong MongoDB.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Phương thức aggregate() trong MongoDB

là công cụ chính để thực hiện các phép toán Aggregation. Với cú pháp đơn giản, bạn có thể truy vấn dữ liệu và thực hiện các phép toán phức tạp trên dữ liệu đó.

Cú pháp

Cú pháp cơ bản của phương thức aggregate() trong MongoDB là như sau:

db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)

Ví dụ

Để hiểu rõ hơn, hãy xem xét một ví dụ cụ thể. Giả sử bạn có một Collection chứa thông tin về các bài hướng dẫn trên một trang web, và bạn muốn biết có bao nhiêu bài hướng dẫn được viết bởi mỗi người dùng. Sử dụng Aggregation, bạn có thể thực hiện điều này như sau:

Bài viết này được đăng tại [free tuts .net]

db.tutorials.aggregate([
   {
      $group : {
         _id : "$by_user",
         num_tutorial : { $sum : 1 }
      }
   }
])

Trong ví dụ này, mình đã nhóm các Document bởi trường by_user, và trên mỗi lần xuất hiện của by_user, giá trị trước đó của tổng (num_tutorial) sẽ được tăng lên. Kết quả của truy vấn này sẽ cho bạn biết có bao nhiêu bài hướng dẫn được viết bởi mỗi người dùng.

Khái niệm Pipeline trong MongoDB

Trong MongoDB, Aggregation sử dụng khái niệm "pipeline," tương tự như trong UNIX shell. Pipeline cho phép bạn thực hiện một chuỗi các hoạt động trên dữ liệu, sử dụng kết quả của một hoạt động làm input cho hoạt động tiếp theo. Các giai đoạn của pipeline có thể thực hiện các nhiệm vụ khác nhau như lọc, nhóm, sắp xếp, giới hạn, và nhiều hoạt động khác.

Dưới đây là một số giai đoạn pipeline phổ biến:

  • $project: Chọn các trường cụ thể từ một Collection.
  • $match: Lọc các Document dựa trên điều kiện cụ thể.
  • $group: Thực hiện các phép toán tập hợp.
  • $sort: Sắp xếp các Document.
  • $skip: Nhảy qua số Document đã cung cấp.
  • $limit: Giới hạn số Document.
  • $unwind: Chia mảng thành các Document riêng lẻ.

Aggregation Framework trong MongoDB cho phép bạn thực hiện nhiều phức tạp hơn nữa, giúp bạn trích xuất thông tin cần thiết từ dữ liệu của mình một cách linh hoạt và mạnh mẽ.

Qua bài viết này, bạn đã có cái nhìn tổng quan về Aggregation trong MongoDB và cách sử dụng nó để xử lý và trích xuất dữ liệu. Việc nắm vững khả năng của Aggregation Framework sẽ giúp bạn tối ưu hóa việc truy vấn và phân tích dữ liệu trong MongoDB một cách hiệu quả. Chúc bạn thành công trong việc sáng tạo và ứng dụng Aggregation cho dự án của mình!

Cùng chuyên mục:

Sử dụng Text Search trong MongoDB

Sử dụng Text Search trong MongoDB

Map Reduce trong MongoDB

Map Reduce trong MongoDB

ObjectId trong MongoDB

ObjectId trong MongoDB

Hoạt động nguyên tử (Atomic Operation) trong MongoDB

Hoạt động nguyên tử (Atomic Operation) trong MongoDB

Phân tích truy vấn trong MongoDB

Phân tích truy vấn trong MongoDB

Covered Query trong MongoDB

Covered Query trong MongoDB

Tham chiếu Database trong MongoDB

Tham chiếu Database trong MongoDB

Relationship trong MongoDB

Relationship trong MongoDB

Tạo backup và restore trong mongodb

Tạo backup và restore trong mongodb

Shard trong MongoDB

Shard trong MongoDB

Replica Set trong MongoDB

Replica Set trong MongoDB

Chỉ mục (Index) trong MongoDB

Chỉ mục (Index) trong MongoDB

Sắp xếp bản ghi trong MongoDB

Sắp xếp bản ghi trong MongoDB

Giới hạn bản ghi trong MongoDB

Giới hạn bản ghi trong MongoDB

Projection trong MongoDB

Projection trong MongoDB

Xóa Document trong MongoDB

Xóa Document trong MongoDB

Cập nhật Document trong MongoDB

Cập nhật Document trong MongoDB

Truy vấn Document trong MongoDB

Truy vấn Document trong MongoDB

Chèn Document trong MongoDB

Chèn Document trong MongoDB

Kiểu dữ liệu trong MongoDB

Kiểu dữ liệu trong MongoDB

Top