java在spring mongodb中查找两个字符串日期范围
我有像Person
这样的文件
{
"_id": {
"$oid": "5e44659dcd"
},
"record": {
"Date_Of_Birth": "9/25/2018"
},
"_class": "com.example.entities.Birth"
}
Record
是object
类型,Date_Of_Birth
是String
类型,但Date
已存储在其中,我想执行查询以使用$gte和$lte操作。我使用的是spring数据mongodb。似乎首先我必须使用$dateFromString将其转换为date,但这似乎是我不需要的聚合
下面是我迄今为止创建的代码
Pageable pageable = PageRequest.of(page, size);
Query query = new Query(
Criteria
.where("record.Date_Of_Birth").gte(DateOperators.dateFromString(startDate).withFormat("mm/dd/yyyy"))
.andOperator(Criteria.where("record.Date_Of_Birth").lte(DateOperators.dateFromString(endDate).withFormat("mm/dd/yyyy"))
)).with(pageable);
它生成了这个查询
{ "record.Date_Of_Birth" : { "$gte" : { "value" : { "dateString" : "9/25/2018", "format" : "mm/dd/yyyy"}}}, "$and" : [{ "record.Date_Of_Birth" : { "$lte" : { "value" : { "dateString" : "9/25/2018", "format" : "mm/dd/yyyy"}}}}]}
而且根本不起作用。知道吗
共 (0) 个答案