Giao diện
Cấu hình node - Aggregate
Node tính toán tổng hợp (count, sum, avg, min, max) trên collection dữ liệu, thực thi ở tầng SQL để đảm bảo hiệu suất.
Bảng tham số cấu hình
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
collection | string | Có | — | Collection cần tính toán tổng hợp |
aggregator | string | Có | — | Phép tính: count, sum, avg, min, max |
field | string | Điều kiện | — | Field tính toán (bắt buộc với sum, avg, min, max; không cần với count) |
filter | object | Không | {} | Điều kiện lọc dữ liệu trước khi tính |
associated | boolean | Không | false | Tính trên dữ liệu association thay vì toàn bộ collection |
params | object | Không | {} | Tham số bổ sung cho query |
Dữ liệu đầu vào (Input)
| Tên | Kiểu | Mô tả |
|---|---|---|
collection | string | Tên collection nguồn |
filter | object | Điều kiện lọc (hỗ trợ biến workflow trong filter) |
Dữ liệu đầu ra (Output)
| Tên | Kiểu | Mô tả |
|---|---|---|
result | number | Giá trị tổng hợp |
dataType | string | Kiểu dữ liệu kết quả: integer hoặc double |
Chi tiết các phép tính
| Phép tính | Ý nghĩa | Yêu cầu field | Kết quả khi không có dữ liệu |
|---|---|---|---|
count | Đếm số bản ghi | Không | 0 |
sum | Tổng giá trị | Có (kiểu số) | 0 |
avg | Trung bình cộng | Có (kiểu số) | null |
min | Giá trị nhỏ nhất | Có | null |
max | Giá trị lớn nhất | Có | null |
Lưu ý quan trọng
- Với
count, không cần chỉ địnhfield- đếm tất cả bản ghi khớp filter - Filter hỗ trợ tất cả toán tử:
$eq,$gt,$lt,$in,$contains, ... - Filter có thể sử dụng biến từ node trước (biến động)
- Kết quả
avgtrả về kiểudouble, các phép tính khác trả vềinteger(trừ sum trên field decimal) - Phép tính thực thi ở tầng SQL (database aggregate function), không load dữ liệu vào memory
- Khi
associated: true, tính toán trên dữ liệu quan hệ (hasMany, belongsToMany) của bản ghi hiện tại