Проблема с созданием запроса в mongodb с помощью NumberLong

У меня есть класс в моем Java-приложении с полем

Instant created;

Этот хранится в монго как

"created" : NumberLong("1467359610266") (f.e.)

Я хочу создать запрос, чтобы получить все документы, созданные между двумя датами:

    public List<MarketingEmail> find(Long startDate, Long endDate) {
    Query query = new Query();
    query.addCriteria(Criteria.where("created").gte(startDate).lte(endDate));
    ...
}

Я передаю переменные метки времени startDate и endDate (например, endDate = 1467981757). Итак, проблема в том, что NumberLong в MongoDB имеет 13 цифр, когда моя временная метка имеет только 10; так что мой запрос вообще не работает

Как я могу решить эту проблему?


person Tolledo    schedule 08.07.2016    source источник


Ответы (1)


Отметка времени Mongo использует миллисекунды.

Чтобы запросить его, умножьте свое значение на 1000 (или просто добавьте 000 в конце)

person profesor79    schedule 08.07.2016