Search code examples
flask-mongoengine

How can i query data and filter by date with flask-mongodb


When i use flask-mongoengin in flask, i used db.Document to define my class as below, but when i query data from mongodb and filter by date, i got nothing.

from flask_mongoengine import MongoEngine
db = MongoEngine()
class Question(db.Document):
    id = db.StringField(primary_key=True)
    create_time = db.DateTimeField(required=True)

the query code as below

if __name__ == '__main__':
    question_list = Question({'create_time': {'$gte': datetime.datetime(2019, 9, 1, 0, 0)}})
    for q in question_list:
        print(q)

How can i query and filter data with DateTimeField.

Thanks


Solution

  • You must use .objects() to issue queries and mongoengine provides an easier way to format simple queries, which is different from MongoDB format (that is actually used by mongoengine’s underlying driver pymongo).

    In this case it means:

    question_list = Question.objects(create_time__gte=datetime.datetime(2019, 9, 1, 0, 0))