使用 MongoOperations Spring Java 在 mongodb 中保存日期时出错

Error while saving date in mongodb using MongoOperations Spring Java

我需要在 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. In other words, the format should be as specified by 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