0

ほとんどの検索キーワードがそこに表示されるように、Web アプリに「人気のあるキーワード」を実装する必要があります。そのために、mongo でデータベースを作成しました。ほとんどのキーワードがソートされてページに戻るように、mongo からデータを取得する必要があります。SQLでは、次のようになります。 select names,count(names) from keyword_db group by names order by names;

Java コードと mongo シェル クエリの両方が必要です。

4

2 に答える 2

3

あなたはmongoシェルクエリを試してみたいかもしれません(私は降順でソートしています:

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/

于 2012-12-07T06:02:09.983 に答える
1

並べ替えには、昇順の場合は following..1 、降順の場合は -1 を使用できます。

db.keyword_db.find( { names: "A" } ).sort( { user_id: 1 } )

groupBy には、集計フレームワークを使用できます。

http://docs.mongodb.org/manual/reference/method/db.collection.group/

于 2012-12-07T05:56:40.687 に答える