map-reduce呼び出しの一部として、MongoDBコレクションに日付値を追加しています。
day = Date.UTC(this.time.getFullYear(), this.time.getMonth(), this.time.getDate());
emit({ user : this.user, day : day }, { count : 1 });
後でMongoシェルでこのコレクションをクエリすると、次のように表示されます。
{ "_id" : { "user" : "assaf", "day" : 1331769600000 }, "value" : { "count" : 15 } }
{ "_id" : { "user" : "assaf", "day" : 1331856000000 }, "value" : { "count" : 57 } }
どういうわけか、日付は整数のように見えます-タイムスタンプ表現だと思います。私がこれを行う場合:
PRIMARY> new Date(db.my_collection.find()[0]["_id"]["day"])
正しい日付を取り戻します:
ISODate("2012-03-19T00:00:00Z")
私の質問は、pymongoで同じことを行う方法です。上記のコレクションに対してクエリを実行すると、pymongoは、day
値がタイムスタンプと同じ値を持つfloatタイプであるドキュメントを返します。
dict: {u'_id': {u'user': u'ariel', u'day': 1332115200000.0}, u'value': {u'count': 99.0}}
このタイムスタンプをPythonに変換するにはどうすればよいですdatetime
か?