【问题标题】:Mongo ISO date format is not working in pymongoMongo ISO 日期格式在 pymongo 中不起作用
【发布时间】:2019-11-21 01:36:16
【问题描述】:

我尝试使用如下所示的 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'}}

有人可以帮忙吗,感谢任何帮助。

谢谢,
哈利

【问题讨论】:

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


    【解决方案1】:

    正如您在插入文档时所做的那样,您需要在查询中使用 datetime 对象,而不是字符串:

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

    【讨论】:

      猜你喜欢
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多