1. MongoDB Aggregation

$project : Lọc ra những column cần xem

/**
 * specifications: The fields to
 *   include or exclude.
 */
{
  OrderId:1,
  Vouchers:1
}

$Match : tìm theo điều kiện
/**
 * query: The query in MQL.
 */
 {
   $or: [{OrderId : {$gt: 1000}},{OrderId : {$gt: 100}}]
 }



$group : nhóm lại và tính toán


$sort : Sắp xếp
/**
 * Provide any number of field/order pairs.
 */
{
  OrderId: 1
}



$count : Đếm tổng 
/**
 * Provide the field name for the count.
 */
'Tổng'


2. MongoDB Pipeline

Pipeline sẽ giúp lưu lại các quert Aggregation , và lấy ra sử dụng lại
3. SAVE : Lưu lại Pipeline này
4. Pipeline : Lấy lại Pipeline cũ đã lưu
5. RUN : Chạy Pipeline


Lấy mã code pipeline ở các dạng ngôn ngữ khác



Ví dụ : 
Mã code mongodb pipeline
[{
    $match: {
        OrderId: {
            $gt: 1000
        }
    }
}]




3. Chạy Pipeline lọc dữ liệu




VD :
Cùng 1 việc tìm ra row có author là Joe Bloggs

Nếu là query filter
     { author : { $eq : "Joe Bloggs" } }

Nếu là MongoDB Aggregation
        db.article.aggregate(
          { $filter : { author : { $eq : "Joe Bloggs" } } }
        );

Nếu là SQL
SELECT * FROM article
    WHERE author = "Joe Bloggs";