firebase / firebase/firebase-cpp-sdk

[FR] Add `SUM` Functionality to AggregateQuerySnapshot

Abierto
#1,703 3 comentarios 0 reacciones 1 asignado Reclamado por @cherylEnkidu Ver en GitHub
api: firestore type: feature request
Lenguaje dominante
C++
Estrellas
326
Forks
137
Merge medio
3 d 9 h
PR fusionados (30 d)
5

Descripción

### Feature proposal

**Firebase Component:** Firestore

Hello,
The Firestore C++ SDK currently supports only the `count()` method in the `firebase::firestore::AggregateQuerySnapshot` class but lacks a `sum()` method (and `avg()`), which is essential for aggregating numeric fields across documents.

### Current State
The public functions of `AggregateQuerySnapshot` are:
- `count()`
- `is_valid()`
- Assignment operators (`operator=`)
- `query()`

Reference:
- https://github.com/firebase/firebase-cpp-sdk/blob/main/firestore/src/include/firebase/firestore/aggregate_query_snapshot.h#L109

### Flutter SDK Implications
This enhancement would also benefit the Flutter SDK, which relies on the Firestore C++ SDK for Windows platform support. For example, in the [FlutterFire plugin](https://github.com/firebase/flutterfire/blob/main/packages/cloud_firestore/cloud_firestore/windows/cloud_firestore_plugin.cpp#L1424-L1426), unsupported aggregation types like `sum` currently result in:
```dart
...
case AggregateType::sum:
std::cout << "Sum is not supported on C++" << std::endl;
break;
...
```

Adding `sum()` to the C++ SDK would also benefit Flutter developers using Firestore on Windows.

### Benefits
Implementing a `sum()` method would:
1. Provide access to Firestore's aggregation capabilities in the C++ SDK.
2. Support more use cases for C++ and Flutter developers.

Looking forward to hearing thoughts and feedback!
Thanks,

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.