Oplog Timestamp到PyMongo中的ISO DATE转换

时间:2014-10-16 11:38:53

标签: mongodb pymongo

我有一个来自oplog的时间戳'ts': Timestamp(1413438497, 1) 锄头可以将其转换为ISODATE。 它来自Mongo Shell

x = Timestamp(1413438497, 1)
isodate = new Date(x.t*1000)

但它与Pymongo没有合作。它显示错误'Timestamp' object has no attribute 't'。 这是我的代码

import pymongo
import datetime
from pymongo import Connection
con = Connection()
db=con['local']
oplog= db['oplog.rs']
for doc in oplog.find({'ns':'hospital.patients'})   :
     x =  new Date(doc['ts'].t*1000)
     print x

1 个答案:

答案 0 :(得分:1)

您可以使用pymongo.timestamp.Timestamp.as_datetime()(文档link

在python datetime对象中获取时间戳
...
...
print doc['ts'].as_datetime() #this is a python datetime object
...
...

您可以轻松转换为ISO格式(文档link):

datetime_object.isoformat()