pymongo错误名称“ ISODate”未定义

时间:2019-04-16 17:09:57

标签: python mongodb pymongo

查询:

    query = mycol.aggregate([
        {
            "$addFields": {
                "Date": {
                    "$dateFromString": {
                        "dateString": "$date",
                        "format": "%d/%m/%Y"
                    }
                }
            }
        },
        {
            "$match": {
                "Date": { "$gte": ISODate("2016-01-01T00:00:00Z"), "$lt": ISODate("2019-01-01T00:00:00Z") }
            }
        },
        {
            "$group" : {
                    "_id" : "$Employee", "total": { "$push" : "$salary" }
                }
        }
    ])

错误:

    NameError at /api/category/top-needstates/
    name 'ISODate' is not defined

在这里,我正在使用pymongo将mongodb与python结合使用。 但是我遇到了错误。

有什么办法可以解决?

我需要导入ISODate吗?

请看看

1 个答案:

答案 0 :(得分:1)

您可以使用本机Python类型,Pymongo会自动将其转换为BSON-ISODate(在这种情况下(docs):

{
     "$match": {
            "Date": { "$gte": datetime.datetime(2016, 1, 1, 0, 0), "$lt": datetime.datetime(2019, 1, 1, 0, 0) }
     }
 }

示例here