在我的文档中,日期字段是字符串"date": "01/08/2018"
。如何在Spring MongoDB中将其转换为Date对象,以便能够将比较器运算符(如“ gte,lte”)用于其他日期对象。
我尝试过:
project()
.and(DateOperators.DateFromString.fromStringOf("date")).as("date")
它仅适用于格式为yyyy-MM-dd
的字段,当然我最终得到了:
'Error parsing date string '26/10/2016'; 0: Unexpected character '2'
我如何通过模式?或者还有另一种方法可以实现我的目标?
答案 0 :(得分:1)
format
选项已在MongoDB版本4中添加到$dateFromString
中,并且在Spring Data 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");