我需要通过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驱动程序文档,但编写得不是很好。我也在互联网上寻找答案。我希望有人能够帮助我。 :)