Имя ошибки pymongo 'ISODate' не определено - PullRequest
1 голос
/ 16 апреля 2019

запрос:

    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?

Пожалуйста посмотрите

1 Ответ

1 голос
/ 16 апреля 2019

Вы можете использовать нативные типы Python, и Pymongo автоматически переведет их в BSON - ISODate в этом случае ( docs ):

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

Пример здесь

...