Spring Mongo: репозиторий не возвращает дату по порядку

Я пытаюсь получить объекты из Mongodb в порядке возрастания (или убывания) временных меток.

Вот как выглядит документ:

{
    _id: 5b01ffe3cd8b295aed16d5c0Wed
    temperature: 23
    timestamp: Dec 13 09:27:00 CET 2017
}

Я использую репозиторий Spring:

public interface TemperatureRepo extends MongoRepository<TemperatureObject, String> {
    public List<TemperatureObject> findAllByOrderByTimestampDesc();
}

Но почему-то запросы Desc и Asc никогда не работают. Я всегда получаю набор результатов в том же порядке (который вообще не упорядочен)

Атрибут temperature сохраняется как Date, а не как String

Это ошибка или я что-то упускаю?


person Marci-man    schedule 21.05.2018    source источник
comment
Покажите документ из MongoDB, а не дамп консоли. Тогда мы сможем точно увидеть, как оно на самом деле сохранено. Более того, покажите несколько документов и порядок, в котором вы ожидаете, а также порядок, в котором они выходят.   -  person Neil Lunn    schedule 21.05.2018


Ответы (1)


попробуйте это, это решит вашу проблему.

List<TemperatureObject> temperatureObjects = temperatureRepo.findAll(new Sort(Sort.Direction.DESC, "timestamp"));
person Devratna    schedule 21.05.2018
comment
На первый взгляд вроде работает. Я должен проверить это, хотя - person Marci-man; 22.05.2018