【发布时间】:2021-05-31 15:23:23
【问题描述】:
我有一些这样的文件:
{
"user": '1'
},
{ "user": '1'
},
{
"user": '2'
},
{
"user": '3'
}
我希望能够获得一组所有不同用户及其各自的计数,按降序排序。所以我的输出会是这样的:
{
'1': 2,
'2': 1,
'3': 1
}
所以,在 mongodb 中是:
db.collection.aggregate(
{$group : { _id : '$user', count : {$sum : 1}}}
).result
但我想在 java 中做到这一点。我试过这个:
AggregateIterable it = collection.aggregate(Arrays.asList(
group("$id", Accumulators.sum("$user", 1)),
sort(Sorts.descending("$user"))
));
但这是错误的......我该怎么做?
【问题讨论】: