Запрос на сопоставление строки в массиве json с использованием MongoTemplate - PullRequest
0 голосов
/ 09 мая 2019

Я создал весенний загрузочный Java-проект, используя MongoDB в качестве хранилища данных.У меня есть слой дао, используя MongoTemplate.У меня есть случай использования, когда мне нужно будет искать соответствующие документы по имени, каналу и дате между полями timeFrom и timeTo

Ниже приведен пример документа, хранящегося в MongoDB

 { 
        "_id" : ObjectId("5cc84583d7d4ae60b42d5fed"), 
        "name" : "New config", 
        "enabled" : false, 
        "channel" : "[\"web\",\"corp\"]", 
        "timeFrom" : ISODate("2019-04-18T06:42:00.000+0000"), 
        "timeTo" : ISODate("2019-04-20T06:42:00.000+0000"), 
    }

Я построил свой запрос, как показано ниже, и он не работает

Query query = new Query();
        query.addCriteria(Criteria
                .where("name").is(config.getName())
                .and("channel").in(config.getChannel())
.and("timeFrom").lt(config.getDate())
                .and("timeTo").gt(config.getDate()));

Может ли кто-нибудь помочь с правильным запросом для использования в моем случае использования для запроса массива JSON и запроса даты?

...