有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在spring mongodb中查找两个字符串日期范围

我有像Person这样的文件

{
  "_id": {
    "$oid": "5e44659dcd"
  },
  "record": {
    "Date_Of_Birth": "9/25/2018"
  },
  "_class": "com.example.entities.Birth"
}

Recordobject类型,Date_Of_BirthString类型,但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) 个答案