如何在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");
在我的文档中,日期字段是一个字符串"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");