Bonjour,
Soit les document bibliotheque défini comme suit :
et la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
qui me renvoie la somme des bibliothèques publiques et non publiques par catégories
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }}} } }
J'essaye de mettre en place cette requête grâce à un objet de type Aggregation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 .
Partager