Problème lors de l'interrogation du document incorporé dans mongo db. J'essaie d'obtenir le conversationId
pour les utilisateurs mais il retourne null.Impossible d'obtenir le résultat agrégé dans le document incorporé mongo en interrogeant
Exemple de document:
{
"_id" : ObjectId("5787391f191fda3a4430c749"),
"conversationId" : "fWFGIr0xAbQytmVcQIPV",
"user" : [{_id : "800", "name" : "Tim"},{_id : "500", "name" : "Kingsley"},
{_id : "400", "name" : "Roger"}],
"type" : "PRIVATE"
}
Requête:
Aggregation agg = newAggregation(
match(Criteria.where("type").is("PRIVATE")),
group("conversationId").push("user.id").as("users"),
match(Criteria.where("users").all(Arrays.asList('800','400','500')))
);
AggregationResults<Rooms> groupResults = mongoOps.aggregate(agg, ROOMS, Rooms.class);
List<Rooms> result = groupResults.getMappedResults();
result.get(0).getId() // returns null
Le result.get(0).getId()
est de retour nul, selon ma requête, je me attends à l'identifiant de conversation qui est présent pour les utilisateurs.
Quel genre de résultat que vous attendez? – chridam
@chridam: Je m'attends à la conversationId, mais je reçois null. – Karthik