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

Pymongo query on datetime key returns mongo query operator and huge 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)}

有什么方法可以取回日期时间对象而不是大整数?

'date' : {'$date' : 1590537600000}

这是时间戳的扩展 json 表示,已记录 here. To load extended json, use json_util 而不是标准库 json 模块。