Я использую агрегированный запрос в mongodb, чтобы найти сумму атрибута во всех документах, имеющихся в коллекции.Как сохранить результат запроса агрегата mongodb в весенний mongotemplate?
Запрос:
db.conversation.aggregate( [
{
$match:{
$and:[{"mailBoxId":"1","isHidden":false}]
}
},
{
$group:
{
_id: {"mailBoxId":"$mailBoxId","isHidden":"$isHidden"} ,
messageCount: { $sum:"$messageCount" }
}
}
]);
результат возвращаемый MongoDB прекрасно и в этом формате.
{
"result" : [
{
"_id" : {
"mailBoxId" : "2",
"isHidden" : false
},
"messageCount" : 2
}
],
"ok" : 1
}
Я просто хочу поле messageCount. Я использую класс MongoTemplate (Spring) для запроса базы данных.
Query retrievalQuery = new Query();
retrievalQuery.addCriteria(Criteria.where("mailBoxId").is(userId).and("isHidden").is(false));
return mongoTemplate.find(retrievalQuery,);
Я смущен, как сохранить результирующий объект, возвращаемый MongoDB и извлечь определенную область из него.
Помощь Pls.
Это сработало! Благодаря!!! –