我在mongodb中使用聚合查询来查找集合中存在的所有文档中属性的总和。如何在spring mongotemplate中存储mongodb聚合查询结果?
查询:
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的返回结果对象,并从中提取的特定字段。
请帮忙。
它的工作!谢谢!!! –