【问题标题】:Mongodb find query on timestamp with dateMongodb查找带有日期的时间戳查询
【发布时间】:2020-07-03 00:48:18
【问题描述】:

是否可以在 MongoDB 中对日期为“2016-02-24”的时间戳字段进行查找查询?

我需要做与 SQL 相同的事情:

SELECT * FROM books WHERE from_unixtime(timestamp/1000) = '2016-02-24 00:00:00'

但是我没有找到任何可以做的事情:-(

感谢任何提示。

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    您可以使用以下查询按 Unix 样式时间戳查询 MongoDB:

    示例 1. 检查某个日期

    db.data.find({"createdOn":new Date("24 Feb 2016").getTime()/1000} )
    

    示例 2. 检查日期小于或等于指定日期的位置

    db.data.find({"createdOn":{$lte:new Date("25 Feb 2016").getTime()/1000}} )
    

    示例 3. 检查日期是否大于或等于指定日期

    db.data.find({"createdOn":{$gte:new Date("25 Feb 2016").getTime()/1000}} )
    

    我用过这个测试数据:

    use test
    
    db.data.save({createdOn:(new Date("24 Feb 2016").getTime()/1000)} )
    db.data.save({createdOn:(new Date("31 Dec 9999").getTime()/1000)} )
    

    【讨论】:

    • new Date("24 Feb 2016") 给我一个 ISODate 而不是时间戳。它不适用于我的数据库。
    • 我已经更改了将日期保存为 Unix 时间戳的答案
    • 谢谢,这正是我想要的 :-) 我添加了一个带小时的示例:“createdOn”:{$gte:new Date(“2016 年 2 月 24 日 06:01:17”)。获取时间()}
    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2022-10-07
    • 2022-10-31
    • 1970-01-01
    相关资源
    最近更新 更多