Mongo ISO日期格式在pymongo中不起作用

时间:2019-11-21 01:36:16

标签: python mongodb mongodb-query pymongo python-datetime

我尝试使用下面的pymongo作为集合中的字段之一,在mongodb中插入当前时间,

"currenttime" : datetime.datetime.utcnow()

插入成功,在mongodb中看到以下结果

"currenttime" : ISODate("2019-11-21T01:22:18.544Z")

当我尝试使用$gt and $lt查询此结果时,无法使用以下查询获取

query = {"currenttime":
                 {"$gte": (datetime.datetime.utcnow() - datetime.timedelta(minutes=60)).isoformat(),
                  "$lt": datetime.datetime.utcnow().isoformat()
                  }}

查询的打印形式:

{'currenttime': {'$gte': '2019-11-21T00:34:29.150681', '$lt': '2019-11-21T01:34:29.150681'}}

请有人帮忙,谢谢您的帮助。

谢谢,
哈里

1 个答案:

答案 0 :(得分:0)

就像插入文档时一样,您需要在查询中使用datetime对象,而不是字符串:

query = {"currenttime":
         {"$gte": (datetime.datetime.utcnow() - datetime.timedelta(minutes=60)),
          "$lt": datetime.datetime.utcnow()
    }}