【问题标题】:MongoDb : Find objects with only date filter [duplicate]MongoDb:仅使用日期过滤器查找对象[重复]
【发布时间】:2018-07-05 23:18:15
【问题描述】:

在 mongodb 中,我有日期时间字段,例如“2018-01-26T16:40:19.305+05:00” 我将如何仅使用今天的日期进行过滤?我的意思是没有时间?

我的文档:

{
    "pk": NumberLong("6585118137"),
    "created_time": ISODate("2018-01-26T16:40:19.305+05:00"),
}

我想要类似的东西

select * from table where date(created_time) = "2018-01-26"

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    我们可以比较日期是$gtenew Date("2018-01-26")$ltnew Date("2018-01-27")

    db.col.find( 
        {$expr : 
            { $and: [ { $gte : ["$created_time", new Date("2018-01-26")] }, { $lt : [ "$created_time", new Date("2018-01-27") ] } ] } 
        } 
    )
    

    或将日期格式化为%Y%m%d (yyyyMMdd) 并与要搜索的日期字符串进行比较

    db.col.find(
        {$expr : 
            {$eq :
                [{$dateToString: {format: '%Y%m%d',date: "$created_time"}}, "20180126"]
            }
        }
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 2017-08-27
      • 2013-11-04
      • 2016-04-23
      • 1970-01-01
      相关资源
      最近更新 更多