我的Mongo系列Nee2500AS1有2行:
db.Nee2500AS1.find()
{ "_id" : ObjectId("52ce3ff4c56df46f9defca62"), "asset" : "Nee2500AS1", "SaltRejection" : "82%", "SaltPassage" : "18%", "Recovery" : "56.33%"}
{ "_id" : ObjectId("52ce4013c56df46f9defca63"), "asset" : "Nee2500AS1", "SaltRejection" : "182%", "SaltPassage" : "18%", "Recovery" : "56.33%"}
是否可以查询db.Nee2500AS1.find("Latest Timestamp")
_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代码以获取最新添加的行?
答案 0 :(得分:0)
使用sort和limit的组合,请参阅DBCursor javadoc。
如果您使用_id之外的其他内容进行排序,则可能需要为性能目的添加索引。
collection.find(allQuery).sort(new BasicDBObject("_id", 1)).limit(1);
答案 1 :(得分:0)
很简单..
DBCollection collection = db.getCollection("Nee2500AS1");
DBCursor cursor = collection.find(allQuery).sort( new BasicDBObject( "_id" , -1 ));
DBObject resultElement = null;
resultElement = cursor.next();
这里.sort(new BasicDBObject(“_ id”,0)返回所需的结果。