ISODate オブジェクトの MongoDb インターフェイスからナノ秒を失っています。perl で読み取ると、すべてのナノ秒がゼロに設定されます。
まず、私の環境:
MongoDB version: 1.8.2
perl v5.12.4
MongoDB perl module version: 0.701.4
次のように、ISODate としてコード化された rtcTime を持つ 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 データベースで任意の (ゼロ以外の) 雇用主エポック値を持つ ISODate オブジェクトを作成します。次に、MongoDB / DateTime / DateTime::Format::ISO8061 モジュールを使用して、あらゆる種類の雇用時間データを抽出してみてください。
Q: MongoDB ISODate データからミリ秒、マイクロ秒、またはナノ秒を取得できないのはなぜですか?