Запрос коллекции к полям, для которых они имеют одинаковые значения, сортировка по отметке времени и возврат последних.
const myDoc = db.collection.findOne({ fieldA: 'valA', fieldB: 'valB', ... }).sort({ timestamp: -1 });
db.collection.update(myDoc, { fieldA: 'newValA', ... });
Обновление: Как запросить вашу базу данных в java
// setup your db connection
MongoClient client = new MongoClient(...);
DB db = client.getDB("yourDbName");
DBCollection collection = db.getCollection("collectionName");
// set up the query for the fields you want to use
BasicDBObject query = new BasicDBObject();
query.put("fieldA", "valA");
query.put("fieldB", "valB");
// etc
// create the object for sorting by timestamp
BasicDBObject sort = new BasicDBObject("timestamp", -1);
// query the database
Document mostRecent = (Document)collection.find(query).sort(sort).first();