Tôi rất quan tâm bởi GraphQL cho một giải pháp phân tích (nghĩ về một webapp hiển thị đồ thị). Nhưng tôi không thể tìm thấy bất kỳ ví dụ nào về GraphQL sử dụng hàm tổng hợp. Đây là khía cạnh chính của hầu hết các truy vấn được thực hiện bởi giao diện người dùng của tôi.Hỗ trợ chức năng tổng hợp trong GraphQL
Đối với giải pháp của mình, chúng tôi có 3 cuộc gọi phụ trợ điển hình.
- Tìm kiếm
- tổng hợp
- Time Series
Hãy nói rằng chúng ta có loại này quy định tại GraphQL
type Person {
name: String
age: Int
create_time: Date
}
- Tìm kiếm
Điều này dường như được xử lý tốt bởi GraphQL. Không có câu hỏi ở đây.
ví dụ: Tìm tuổi của người có tên Bob { Person (tên: "Bob") { tuổi } }
- tổng hợp
Đây là trường hợp điển hình Tôi muốn hiển thị thông tin trong Biểu đồ hình tròn. Vì vậy, hãy nói rằng tôi muốn đếm số lượng người theo độ tuổi.
Dưới đây sẽ là truy vấn PostgreSQL:
SELECT age, count(*) from Ticket group by age;
Điều gì sẽ là tương đương trong GraphQL?
- Chuỗi thời gian Đây là trường hợp điển hình mà tôi muốn hiển thị thông tin trong BarChart với trục X là thời gian.
ví dụ: Giả sử tôi muốn đếm số lượng người dùng được tạo mỗi giờ.
Dưới đây sẽ là truy vấn PostgreSQL:
SELECT date_trunc('hour', create_time) as create_time_bin, count(*) from Person group by create_time_bin order by create_time_bin ASC;
Điều gì sẽ là truy vấn tương đương GraphQL?
Chưa kể, bạn so sánh phạm vi cho vô hướng như SELECT * WHERE timestamp>… AND timestamp <…? Hoặc sắp xếp kết quả theo vô hướng? Tôi không thấy bất kỳ thứ gì trong số này. Tôi đang thiếu gì? –
Bạn thêm thông số vào các trường cho phép loại lọc đó. – Ryan