spring-projects / spring-projects/spring-data-mongodb
Dynamic agregation pipeline from method parameter
Open
@christophstrobl is already working on this.
Since Oct 4, 2021.
theme: 4.2
- Dominant language
- Java
- Stars
- 1.7k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
I'm looking for dynamic @Aggregation pipeline affectation.
you know already that we could affect a string array to @Aggregation annotation like this:
@Aggregation({
"{ $unwind : { path : $skills } }",
"{ $group : { _id : $skills, names : { $push : $name } } }",
"{ $project : { _id : 0, skill : $_id, names : 1 } }"
})
Flux<SkilledPeople> getSkilledPeople();
and also a string like this:
@Aggregation("{ $project : { _id : 0, skill : $_id, names : 1 } }")
Flux<SkilledPeople> getSkilledPeople();
peeking the old @query annotation, we could pass the query like this:
@Query("?0")
Page<Person> filter(Document document, Pageable pageable);
My question is, could we have similar approach link in @Query annotation?
@Aggregation("?0")
Flux<SkilledPeople> getSkilledPeople(String[] pipeline);
or like this?
@Aggregation("?0")
Flux<SkilledPeople> getSkilledPeople(List<String> pipeline);
stack question: https://stackoverflow.com/questions/69423466/dynamic-agregation-pipeline-from-method-parameter
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.