mongodb - 如何在 Spring MongoDB 中使用 $dateFromString?
问题描述
在我的文档中,日期字段是一个字符串"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'
我怎样才能通过模式或者是否有另一种方法来实现我的目标?
解决方案
该format
选项已添加到$dateFromString
MongoDB 版本 4 中,目前在 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");
推荐阅读
- javascript - 如何避免使用 JavaScript 和 NodeJS 以逗号分隔的字符串中的数组中的空对象?
- laravel - 使用带有 Laravel 的 Outlook / Office365 发送电子邮件 - 无法在 SMTP 服务器上进行身份验证
- sql - 如何将表变量中的所有不同值分配给表中现有行中的字段?
- cypress - How to get hidden iframe element in Cypress? And how to write in it?
- javascript - 在 laravel 问题中存储会话数据、路由和控制器
- java - 当达到特定分数时,如何在我的骰子游戏中添加警报对话框?Java、安卓工作室
- javascript - 即使我在浏览器控制台中看到它,也无法按 className 抓取元素
- mysql - 如何从 golang MySQL 包中获取精细的 LOAD DATA 结果?
- python - 如何在本地主机上的发布请求中显示烧瓶中的数据?错误:分配前引用了局部变量“reqData”
- jekyll - jekyll 主页标题为空