gpt4 book ai didi

java - 如何计算集合中的唯一元素?

转载 作者:行者123 更新时间:2023-12-01 18:26:09 25 4
gpt4 key购买 nike

我有类似的 Collection

id : 1, url : youtube.com

而且一个 url 可以出现多次,

我需要获取整个集合并计算唯一元素喜欢

youtube 10
google 8
lycos 5

这是代码

  public List<URLEntity> findAll() {
List<URLEntity> list = new ArrayList<URLEntity>();
String sort = "searchDate";
String order = "desc";
DBObject sortCriteria = new BasicDBObject(sort, "desc".equals(order) ? -1 : 1);

BasicDBObject query = new BasicDBObject();
DBCursor cursor = mongoCoreService.getDomainCollection().find(query).sort(sortCriteria);
try {
while (cursor.hasNext()) {
DBObject document = cursor.next();
URLEntity entity = new URLEntity();
entity = Converter.toObject(URLEntity.class, document);
list.add(entity);
}
} finally {
cursor.close();
}
return list;
}

谢谢

最佳答案

您可以通过使用 MongoDB 的聚合框架来实现这一点。

db.yourcollection.aggregate({ $group: { _id: '$url', total: {$sum: 1} }})

您将获得类似这样的东西,您可以在 JAVA 中对其进行操作:

{
"result" : [
{
"_id" : "youtube.com",
"total" : 10
},
{
"_id" : "google.com",
"total" : 8
},
{
"_id" : "lycos",
"total" : 5
}
],
"ok" : 1
}

关于java - 如何计算集合中的唯一元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com