-
Type:
Task
-
Resolution: Done
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
Context
This milestone establishes the initial agg experimental module in mongodb-labs/mongo-go-driver-exp. Create a new submodule in the agg directory so the module path is github.com/mongodb-labs/mongo-go-driver-exp/agg. Copy the aggregation YAML definitions from the PHP/MQL specs, adapt them to what Go’s type system can practically support, and commit the modified YAML files to agg/spec. Then use those modified specs, plus the Go proof of concept, to implement the first five pipeline helpers: Match, Sort, Set, Project, and Group.
Definition of done
- The github.com/mongodb-labs/mongo-go-driver-exp/agg submodule exists.
- The aggregation YAML definitions have been copied and the modified Go-friendly specs are committed under agg/spec.
- First-pass implementations for Match, Sort, Set, Project, and Group are in place.
- The initial aggregation expression/operator set is implemented for this milestone: Eq, Ne, Gt, Gte, Lt, Lte, In, And, Or, Not, Add, Subtract, Multiply, Divide, Concat, IfNull, FilterArray, and ArrayToObject.
- A basic query operator surface exists for use with Match: Field, Eq, Gt, Gte, Lt, Lte, And, and Or.
- Basic expressions are implemented