Python MongoDB检索ISODate字段

时间:2016-06-14 13:44:28

标签: python mongodb

我正在python中编写一个脚本来查询MongoDB数据库,以一种可以导入关系数据库的格式解析结果。

数据存储在关联数组中。我可以使用点表示法查询大多数字段,例如$ status.state。

问题:

问题是,$ last_seen ISODate字段在尝试使用点表示法时没有返回值。

        # Last seen dot notation does not return a value
        "u_updated_timestamp": "$last_seen.date"

这是数据结构:

{
    "status" : {
        "state" : "up",
    },
    "addresses" : {
        "ipv4" : "192.168.1.1"
    },
    "last_seen" : ISODate("2016-04-29T14:06:17.441Z")
}

这是我开始使用的代码。所有其他字段都以正确的格式返回。但是,last_seen ISO日期字段根本不返回任何值。要检索值还需要哪些其他步骤?

我尝试了$ dateToString但它没有用(我们正在运行pymongo 2.7)。

computers = db['computer'].aggregate([
        {"$project" : { 
                "u_ipv4": "$addresses.ipv4",
                "u_status": "$status.state",
                # Last seen dot notation does not return a value
                "u_updated_timestamp": "$last_seen.date"
        }}
])

我也尝试过简单的$ last_seen但返回键和值,我只需要值。

更新:所需格式灵活。它可以是unix时间戳或mm-dd-yyyy。任何格式都可以接受。主要问题是目前没有使用此查询返回任何日期值。

0 个答案:

没有答案