Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tính tổng trong MongoDB với aggregate() và $sum

Tổng hợp dữ liệu với $group và $sum

Sử dụng stage $group với accumulator $sum để tính tổng giá trị trường trên toàn collection hoặc theo nhóm.

Dữ liệu số tiền

> db.demo337.insertOne({"Amount": 100});
> db.demo337.insertOne({"Amount": 500});
> db.demo337.insertOne({"Amount": 400});

Tính tổng Amount

> db.demo337.aggregate([
    {
        $group: {
            _id: null,
            totalAmount: { $sum: "$Amount" }
        }
    }
]);

Kết quả

{ "_id": null, "totalAmount": 1000 }

Các biến thể $sum:

  • { $sum: "$field" }: Tổng giá trị trường
  • { $sum: 1 }: Đếm số document (count)
  • { $sum: { $multiply: ["$price", "$qty"] } }: Tổng biểu thức

Nhóm theo trường: Thay _id: null bằng _id: "$category" để tính tổng theo nhóm.