getTimestamp()
必要な関数はこれです。これはすでにシェルに含まれています:
ObjectId.prototype.getTimestamp = function() {
return new Date(parseInt(this.toString().slice(0,8), 16)*1000);
}
参考資料
ドキュメントからこのセクションをチェックしてください:
- 個別のタイムスタンプフィールドを使用するのではなく、_idから挿入時間を抽出します
この単体テストでも同じことが実証されています:
- mongo / jstests / objid6.js
Mongoシェルの使用例:
> db.col.insert( { name: "Foo" } );
> var doc = db.col.findOne( { name: "Foo" } );
> var timestamp = doc._id.getTimestamp();
> print(timestamp);
Wed Sep 07 2011 18:37:37 GMT+1000 (AUS Eastern Standard Time)
> printjson(timestamp);
ISODate("2011-09-07T08:37:37Z")