如何在Spring中编写mongo db查询

如何在Spring中编写mongo db查询,spring,mongodb,Spring,Mongodb,我有一个提要集合,它有两个字段:用户名和情感。我必须在春季编写一个聚合,通过用户名和情绪进行分组。我还必须显示username进入集合的总次数 怎么做 我的代码是: db.feed.aggregate([ {$group: {_id : {username : '$username',sentiment:'$sentiment'}, total:{$sum :1}}}, {$project : {username : '$_id.username', sentiment

我有一个提要集合,它有两个字段:
用户名
情感
。我必须在春季编写一个聚合,通过
用户名
情绪
进行分组。我还必须显示
username
进入集合的总次数

怎么做

我的代码是:

db.feed.aggregate([
{$group: {_id : {username : '$username',sentiment:'$sentiment'}, total:{$sum             :1}}},
{$project : {username : '$_id.username', sentiment : '$_id.sentiment', total :                     '$total', _id : 0}}
])

首先想到的是:

因此,在您的情况下,它看起来像:

import static org.springframework.data.mongodb.core.aggregation.Aggregation.*;

class Stat {
   String username;
   String sentiment;
   int total;
}

Aggregation agg = newAggregation(
    group("username", "sentiment").count().as("total"),
    project().
       and("_id.username").as("username").
       and("_id.sentiment").as("sentiment").
       and("total").as("total")
);

AggregationResults<Stat> results = mongoTemplate.aggregate(agg, "feed", Stat.class);
List<Stat> mappedResult = results.getMappedResults();
import static org.springframework.data.mongodb.core.aggregation.aggregation.*;
类统计{
字符串用户名;
弦情;
整数合计;
}
聚合agg=newAggregation(
组(“用户名”、“情绪”).count().as(“总计”),
项目()。
和(“_id.username”)。作为(“用户名”)。
以及(“情绪”)作为(“情绪”)。
和(“总计”)。作为(“总计”)
);
AggregationResults=mongoTemplate.aggregate(agg,“feed”,Stat.class);
List mappedResult=results.getMappedResults();

您是否专门寻找Spring Data Mongo解决方案?或者您正在使用其他非Spring Mongo库?