Pymongo 对日期时间键的查询返回 mongo 查询运算符和巨大的 int

我正在写这个查询;


end = dt.datetime.today()

start = end - dt.timedelta(7)


query = collection.find({'date' : {'$gt': start, '$lt' : end}},

                       {'_id' : 1, 'name' : 1, 'date_created' : 1})

docs = json.loads(dumps(query))

我在日期时间对象上使用 pymongo 进行查询,并使用 bson 从字节转换为 json。我得到的是一个文档,它看起来像这样,而不是日期时间对象;


{'_id' : 0, 'name' : 'Brand CN Homepage (Desktop)', 'date' : {'$date' : 1590537600000}}

当我尝试转换那个巨大的整数时,我得到了;


OverflowError: Python int too large to convert to C long

日期键,值应该是这样的;


{'date' : datetime.datetime(2020, 4, 3, 0, 0)}

有没有办法取回日期时间对象而不是大整数?


千巷猫影
浏览 58回答 1
1回答

繁华开满天机

'日期':{'$日期':1590537600000}这是时间戳的扩展 json 表示,在此处记录。要加载扩展的 json,请使用json_util而不是标准库json模块。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python