[Data] Requête count multiple
Bonjour,
Soit les document bibliotheque défini comme suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| "_id" : ...,
"categorie" : "cat 1",
"public" : true
"_id" : ...,
"categorie" : "cat 2",
"public" : false,
"_id" : ...,
"categorie" : "cat 1",
"public" : true |
et la requête suivante :
Code:
1 2 3 4 5 6 7
|
"$group" : {
_id:"$categorie",
nbPublic:{ $sum: { $cond: { if: "$public", then: 1, else: 0 }}},
nbPrivate:{ $sum: { $cond: { if: "$public", then: 0, else: 1 }}}
}
} |
qui me renvoie la somme des bibliothèques publiques et non publiques par catégories
J'essaye de mettre en place cette requête grâce à un objet de type Aggregation :
Code:
1 2 3 4 5 6
| Aggregation aggregation = newAggregation(
group("categorie").count().as("nbBibliothequePrivee"),
match(Criteria.where("public").is(false)),
group("categorie").count().as("nbBibliothequePublic"),
match(Criteria.where("public").is(true)),
project("nbBibliothequePublic").and("categorie").previousOperation().and("nbBibliothequePrivee").previousOperation()); |
mais je n'ai aucun résultat. Comment dois-je m'y prendre ?
Merci de votre aide :) .