我正在从 ISODate 对象的 MongoDb 接口中丢失纳秒。当我在 perl 中读取它们时,所有纳秒都设置为零。
首先,我的环境:
MongoDB version: 1.8.2
perl v5.12.4
MongoDB perl module version: 0.701.4
我有一个将 rtcTime 编码为 ISODate 的 Mongo DB,如下所示:
"rtcTime" : ISODate("2013-05-13T18:54:55.918Z")
提取 rtcTime 的代码如下所示:
my @results = $db->get_collection( 'timings' )->find( )->all();
foreach my $record ( @results )
{
print $record->{rtcTime}->nanoseconds()."\n";
}
输出全为 0。
要完全重现该问题,请在 MongoDB 数据库中创建一个具有任意(非零)hires_epoch 值的 ISODate 对象。然后尝试使用 MongoDB / DateTime / DateTime::Format::ISO8061 模块来提取任何类型的雇佣时间数据。
问:为什么我无法从 MongoDB ISODate 数据中获取毫秒、微秒或纳秒?