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



我尝试使用 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'}}

有人可以帮忙吗,任何帮助不胜感激。

谢谢,
哈利

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

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

最新更新