如何在SpringMongoDB中使用$dateFromString?

How to use $dateFromString in Spring MongoDB?

在我的文档中,日期字段是一个字符串"date": "01/08/2018"。如何将它转换为 Spring MongoDB 中的日期对象,以便能够将 "gte, lte" 之类的比较运算符用于其他日期对象。

我试过:

project()

   .and(DateOperators.DateFromString.fromStringOf("date")).as("date")

它只适用于格式为 yyyy-MM-dd 的字段,当然我最终得到了:

'Error parsing date string '26/10/2016'; 0: Unexpected character '2'

我怎样才能通过这个模式或者有没有其他方法可以达到我的目标?

format 选项已添加到 MongoDB 版本 4 中的 $dateFromString,目前在 Spring 数据 MongoDB 中缺失。我已经打开 DATAMONGO-2047 来解决这个问题。
同时您可以尝试以下方式手动添加。

project().and(context -> {

    Document doc = DateFromString.fromStringOf("date").toDocument(context);
    doc.get("$dateFromString", Document.class).put("format", "dd/mm/yyyy");
    return doc;
}).as("date");