具有排序和限制的mongodb命令

时间:2013-02-20 20:54:16

标签: java mongodb

您好我正在尝试使用Mongo Java api

在下面实现这个确切的命令
db.system.profile.find({},{millis:1}).sort({$natural:-1}).limit(1);

我正在考虑做类似下面的事情,但我只期望返回一个INT,这可能是一个错误的/漫长的做法。

Mongo mongoClient = new Mongo( "localhost" , 27017 );
        DB db = mongoClient.getDB( "user" );    
        /*  db.system.profile.find({},{millis:1}).sort({$natural:-1}).limit(1);*/
        DBCollection collTime = db.getCollection("system.profile");
        DBCursor cursor = collTime.find(new BasicDBObject("millis", 1),new BasicDBObject("$natural", -1)).limit(1);  
        System.out.println(cursor.toString());

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:4)

看看public DBObject findOne(DBObject o, DBObject fields, DBObject orderBy)。代码看起来像这样:

String str = collection.findOne(new BasicDBObject(), new BasicDBObject("millis", 1),
    new BasicDBObject("$natural", -1)).get("millis").toString();