我已经使用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数组并查询日期吗?