MongoDB的排行榜

时间:2016-07-06 19:20:00

标签: java mongodb mongodb-java

我需要通过java驱动程序查询简单的MongoDB查询。

{ "_id" : ObjectId("57799934896ab825da01ee07"), "uuid" : "122dc299-e4fc-4d24-96d4-0481d39f6099", "globalelo" : 1000, "totalmatches" : 1 }
{ "_id" : ObjectId("5779bf8a896ab82646ccf55d"), "uuid" : "719caf75-be43-40a6-bad2-7b9cdc352984", "globalelo" : 1265, "totalmatches" : 7 }
{ "_id" : ObjectId("5779bf8a896ab82646ccf55e"), "uuid" : "1eb1e15c-5291-4077-a5b1-086d91f39f84", "globalelo" : 0, "totalmatches" : 0 }

以上是我收藏的一小部分。我需要使用MongoDB shell完成的globalelo部分从最大到最小的查询。

db.profiles.sort( { "globalelo": -1 } )

我不知道如何将此shell代码转换为MongoDB java驱动程序代码。

我还想知道从最大到最小的订单时得分的位置。最高分为第一名,最低分为最低分。

这是我创建的,它不起作用。它只返回集合中的对象数量。

    public static int getPosition(Profile profile, String path, double score) {
    DBCursor dbc = main.getCollection().find().sort(new BasicDBObject(path, -1));
    UUID uuid = profile.getUuid();
    int count = 0;
    while (dbc.hasNext()) {
        count++;
        if (dbc.next().get("uuid") != uuid) continue;
        break;
    }
    return count;
}

我查看了MongoDB Java驱动程序文档,但编写得不是很好。我也在互联网上寻找答案。我希望有人能够帮助我。 :)

0 个答案:

没有答案