根据来自Java的最新时间戳查询Mongo文档

根据来自Java的最新时间戳查询Mongo文档,java,json,mongodb,Java,Json,Mongodb,我的Mongo收藏Nee2500AS1有两行: db.Nee2500AS1.find() 是否可以查询db.Nee2500AS1.find(“最新时间戳”) _id包含时间戳,对吗 我的java代码是: Mongo mongo = new Mongo("localhost", 27017); DB db = mongo.getDB("TESTDoc"); DBObject allQuery = new BasicDBObject(); DBCollection collection = db.g

我的Mongo收藏Nee2500AS1有两行:

db.Nee2500AS1.find()

是否可以查询
db.Nee2500AS1.find(“最新时间戳”)

_id包含时间戳,对吗

我的java代码是:

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("TESTDoc");
DBObject allQuery = new BasicDBObject();
DBCollection collection = db.getCollection("Nee2500AS1");
DBCursor cursor = collection.find(allQuery);
如何修改java代码以获取最新添加的行

使用和的组合,请参见

如果您是按_id以外的内容进行排序,则可能需要添加索引以提高性能

collection.find(allQuery).sort(new BasicDBObject("_id", 1)).limit(1);
这很简单

DBCollection collection = db.getCollection("Nee2500AS1");
DBCursor cursor = collection.find(allQuery).sort( new BasicDBObject( "_id" , -1 ));
DBObject resultElement = null;
resultElement = cursor.next();

这里.sort(new BasicDBObject(“\u id”,0)返回我所需的结果。

您应该使用一个1或负1而不是零。如果您想按降序排序(最近的第一个)或按
新BasicDBObject(\u id,1)
按升序排序(最早的第一个),请使用
哦,谢谢崔莎。我会编辑我的答案。但是当我尝试使用(“_id”,0)时,它也给出了降序顺序。这可能是一个副作用,不是你想要依赖的东西,但知道它很有用!
DBCollection collection = db.getCollection("Nee2500AS1");
DBCursor cursor = collection.find(allQuery).sort( new BasicDBObject( "_id" , -1 ));
DBObject resultElement = null;
resultElement = cursor.next();