mongodb版本中的ISODate格式

问题描述 投票:0回答:1

我已将MongoDB服务器版本:4.2.3还原到MongoDB服务器版本:4.2.7,并且在将数据再次保存到数据库时出现如下关于ISODate的错误:

{ "_id" : ObjectId("5ed4b193ed6fab6d2272c5c4"), "id" : 1, "timestamp" : ISODate("2020-05-31T05:59:59Z") } #new data run after change db (it must disappear for unique)
{ "_id" : ObjectId("5ed33bef1e499012bf35e412"), "id" : 1, "timestamp" : ISODate("2020-05-31T04:59:59.999Z") } #old data
{ "_id" : ObjectId("5ed4b193ed6fab6d2272c5c3"), "id" : 1, "timestamp" : ISODate("2020-05-31T04:59:59Z") } #new data run after change db (it must disappear for unique)
{ "_id" : ObjectId("5ed32de165269b416f6c7362"), "id" : 1, "timestamp" : ISODate("2020-05-31T03:59:59.999Z") } #old data
{ "_id" : ObjectId("5ed4b193ed6fab6d2272c5c2"), "id" : 1, "timestamp" : ISODate("2020-05-31T03:59:59Z") } #new data run after change db (it must disappear for unique)
{ "_id" : ObjectId("5ed31fcff2a5076cc947bc02"), "id" : 1, "timestamp" : ISODate("2020-05-31T02:59:59.999Z") } #old data
{ "_id" : ObjectId("5ed311bfb0d88300f81e90d2"), "id" : 1, "timestamp" : ISODate("2020-05-31T01:59:59.999Z") } #old data

我有一个唯一的索引idtimestamp,但是因为时间戳有微秒,所以并非完全如此。请给我一个解决方案,使ISODate保持微秒级。

PS:我的代码未更改。我使用PHP,并且始终使用'Y-m-d\TH:i:s.uP'

格式化日期
php mongodb mongodb-php isodate
1个回答
0
投票

MongoDB时间分辨率为1毫秒。精度更高的值将被截断为毫秒精度。

© www.soinside.com 2019 - 2024. All rights reserved.