未定义 pymongo 错误名称'ISODate'



query:

    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

在这里,我使用 mongodb 和 python 使用 pymongo。但是我正在超越错误。

有什么办法可以解决它吗?

我需要导入 ISODate 吗?

请看一看

您可以使用原生的Python类型,Pymongo会自动将它们转换为BSON - 在这种情况下为ISODate(文档(:

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

这里的例子

最新更新