class 数据导入失败

我导出了一个 class后,进行了数据的修改,但是等我导入的时候,却全部失败了。
我修改了一条数据的 createdAt 这个时间数据。

一开始的数据是

"createdAt":"2020-10-12T03:11:54.990Z"

我修改为

"createdAt":"2020-10-11T07:11:54.990Z"

收到邮件如下

请问是否导出的数据不能修改?修改后就无法导入到数据库里面。

导出数据可以修改,但如果修改导致格式错误就会导致导入失败。请下载邮件里的 error messages link 中的文件,其中包含了详细的报错信息,您可以根据报错信息排查问题。

下载以后,里面有 content-insert-error.logparse-error.log 这两个文件,其中的parse-error.log 没有任何内容,是一个空文档。

content-insert-error.log 里面我选择一行内容,麻烦您帮我看看是什么出错了。

{"error":"E11000 duplicate key error index: e1qXpMM*********.content.$_id_ dup key: { : ObjectId('5f7c3db595e50238f1250e6f') }","object":{"updatedAt":"2020-10-09T15:45:01.343Z","ACL":{"*":{"read":true,"write":true}},"content":"真的非常需要一个在 iOS 上的闪念胶囊,好多东西过一会就忘了。","objectId":"5f7c3db595e50238f1250e6f","createdAt":"2020-10-06T09:49:41.563Z","type":1,"tag":"# 👎吐槽"}}

parse-error.log 为空,说明在解析导出文件时没有碰到问题。

content-insert-error.log 记录了在导入数据碰到的问题。

E11000 duplicate key error index: e1qXpMM*********.content.$_id_ dup 说明数据的 ObjectId (这里是 5f7c3db595e50238f1250e6f )重复了,需要您在导入前先进行处理:比如在导出文件中移除这个 object,或者在导入目标应用中移除相应的 object。

今天测试了一下,我把数据库class所有的内容删掉清空后,再导入就没有问题了。
为什么导入数据的时候不能检测是否增量增加数据或者是修改数据就直接修改数据库的数据,其他没有变化的文件保持不变呢?
这样就导致每次想要导入数据前需要清空整个数据库了。