使用MongoTemplate查询json数组中的匹配字符串

时间:2019-05-09 09:46:36

标签: java arrays mongodb mongotemplate

我已经使用MongoDB作为数据存储构建了一个Spring Boot Java项目。我有使用MongoTemplate的dao层。我有一个用例,需要在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数组并查询日期吗?

0 个答案:

没有答案