gpt4 book ai didi

java - mongo中根据出现次数排序

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

我需要在我的网络应用程序中实现“流行关键字”,以便大多数搜索的关键字都会显示在那里。为此,我在 mongo 中创建了一个数据库。我需要从 mongo 检索数据,以便对大多数出现的关键字进行排序并返回到我的页面。在 sql 中就像这样,从keyword_db组中选择名称,计数(名称),按名称排序;

需要java代码和mongo shell查询..

最佳答案

您可能想尝试 mongo shell 查询(我按降序排序:

db.keyword_db.aggregate ( [ 
{ $group: { _id: "$names", count: { $sum: 1 } } },
{ $sort: { count: -1 } } ] )

对于 Java 版本:

    DBCollection myColl = db.getCollection("keyword_db"); 

// for the $group operator
DBObject groupFields = new BasicDBObject( "_id", "$names");
groupFields.put("count", new BasicDBObject( "$sum", 1));

DBObject group = new BasicDBObject("$group", groupFields );

// for the $sort operator

DBObject sortFields = new BasicDBObject("count", -1);

DBObject sort = new BasicDBObject("$sort", sortFields );

// run the aggregation

AggregationOutput output = myColl.aggregate(group, sort);

System.out.println( output.getCommandResult() );

以下页面也可能对您有帮助:
http://docs.mongodb.org/manual/reference/sql-aggregation-comparison/

关于java - mongo中根据出现次数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13757449/

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