问题描述
我需要在具有日期的mongodb中保存json对象,这是示例json:
{
"modifiedon": {
"$dateFromString": {
"dateString": "2017-02-08T12:10:40.787"
}
},"modifiedby": "ramsha-GRM1 Ambreen","id": 537
}
我希望'modifiedOn'值应另存为
"modifiedon": ISODate("2017-02-08T12:10:40.78")
这是使用Java将json插入mongodb的代码
String json = {<JSONVALUE>};
mongoOperations.insert(json,"risk");
但是MongoOperations会保存JSON,而不会使用$ dateFromString进程(该日期是MongoDB格式的日期)。任何线索都非常感谢
解决方法
遇到上述问题后,通过将输入JSON对象修改为
,已解决了该问题 { "modifiedon": { "$date": "2020-09-30T11:32:58.000Z" },"modifiedby": "ramsha-GRM1 Ambreen","id": 229 }
并将其保存在MongoDB中作为日期对象,我可以查询日期
,将dateString
的格式更改为using ISO-8601 representation。换句话说,格式应为DateTimeFormatter#ISO_INSTANT
指定的格式。下面给出的是以此格式生成的字符串的示例:
import java.time.Instant;
public class Main {
public static void main(String[] args) {
System.out.println(Instant.now());
}
}
输出:
2020-10-02T13:52:08.564327Z