Обновление самого последнего документа в mongoDB с одинаковыми значениями всех полей, кроме поля метки времени через Java - PullRequest
0 голосов
/ 24 октября 2018

У меня есть коллекция из 100 документов, из которых 4 документа имеют одинаковые значения для всех полей, за исключением другого значения метки времени.Я хочу изменить самый последний документ среди этих 4 документов.Как мне этого добиться?

1 Ответ

0 голосов
/ 24 октября 2018

Запрос коллекции к полям, для которых они имеют одинаковые значения, сортировка по отметке времени и возврат последних.

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...