Mongodb Query Упорядочить по дате и получить первый - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть коллекция и документы хранятся с атрибутом даты. Я хотел бы проанализировать дату и получить список значений меньше заданной даты, упорядочить их по убыванию и получить первое. Я использую Robo3T для пользовательского интерфейса, и оттуда я могу запросить как

db.getCollection('myCollection').find({date:{"$lte":ISODate("2020-01-18T04:00:46Z")}}).sort({date:-1}).limit(1)

Это дает правильный результат. Но я не могу сделать это с кодом java, он дает пустой результат. Вот код java, который я использую.

 MongoCollection<MyRegion> myCollection = database.getCollection('myCollection',MyRegion.class);
 Bson queryOne = Filters.lte("date", DateTimeUtils.toISO8601UTC( date));
 List<MyRegion> result = myCollection.find(queryOne).sort(Sorts.descending("date")).limit(1).into(new ArrayList<>());

Также пробовал и этот код,

MyRegion result = myCollection.find(queryOne).sort(Sorts.descending("date")).first();

Я новичок в запросе go, и я застрял. Пожалуйста, исправьте меня, где я сделал не так.

...