2 votes

Comment puis-je interroger des données et filtrer par date avec flask-mongodb ?

Lorsque j'utilise flask-mongoengin dans flask, j'ai utilisé db.Document pour définir ma classe comme ci-dessous, mais lorsque j'interroge les données de mongodb et que je filtre par date, je n'obtiens rien.

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)

Comment puis-je interroger et filtrer des données avec DateTimeField.

Merci

0voto

bagerard Points 785

Vous devez utiliser .objects() pour émettre des requêtes et mongoengine fournit un moyen plus facile de formater des requêtes simples, qui est différent du format MongoDB (qui est en fait utilisé par le pilote sous-jacent de mongoengine, pymongo).

Dans ce cas, cela signifie :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X