Python 如何使用pymongo从mongodb的日期值获取json输出

Python 如何使用pymongo从mongodb的日期值获取json输出,python,json,mongodb,pymongo,highstock,Python,Json,Mongodb,Pymongo,Highstock,我定期收集股票市场数据,并将pymongo存储在mongodb中,作为: db.apple_stock.insert({'time': datetime.datetime.utcnow(), 'price': price}) 现在我想要JSON格式的输出,以便使用highstocks: [ [1403546401372, 343], [1403560801637, 454], [1403575202199, 345], [1403618402379, 34

我定期收集股票市场数据,并将pymongo存储在mongodb中,作为:

db.apple_stock.insert({'time': datetime.datetime.utcnow(), 'price': price})
现在我想要JSON格式的输出,以便使用highstocks:

[
    [1403546401372, 343], 
    [1403560801637, 454], 
    [1403575202199, 345], 
    [1403618402379, 345]
]
Tornado正在服务器上运行,“mysite.com/api/stock.json”应该在json文件中提供上述数据

因此,我查询我的数据库并使用pymongo的来转储json:

from bson.json_util import dumps
dumps(query_result)
我得到的输出是:

[
    [{"$date": 1403546401372}, 343], 
    [{"$date": 1403560801637}, 454], 
    [{"$date": 1403575202199}, 353]]
]
那么,如何将第一项从dictionary更改为date,只包含值部分?是否有可用的函数可以执行此操作,或者我必须迭代列表并自己转换它

其次,如果我真的必须迭代列表,那么在MongoDB中存储以直接获得所需输出的正确方法是什么?

pymongo驱动程序实用程序中故意提供转储功能,以提供所谓的

这样做的目的是在JSON本身不知道严格类型的情况下提供类型保真度,例如BSON格式的设计目的,以及MongoDB本身使用的类型。它允许将JSON传输到客户机,这些客户机可能能够理解呈现的类型,例如$date或$oid,然后使用这些键将JSON反序列化为该语言规范下的特定类型

在大多数语言实现中,使用标准形式的JSON编码,您会发现:

一个有趣的时间值元组 表示时间值的字符串 表示时间值的历元时间戳 自定义序列化的最佳情况是迭代返回的结构并自己实现类型的序列化。或者只使用转储表单和JSON解码,然后删除标识类型的键

当然,也可以在特殊库及其结果之外使用基本JSON编码

导致这种情况的正确BSON日期类型是在MongoDB中存储的正确方式。库函数的使用是经过设计的。但最终的使用方法实际上取决于你自己