【问题标题】:How to embed the date-to-timestamp conversion in a mongodb query?如何在 mongodb 查询中嵌入日期到时间戳的转换?
【发布时间】:2021-03-20 19:03:58
【问题描述】:

假设我在一个带有时间戳字段的 mongo 集合中有文档。我想根据时间戳值(大于、小于)查询文档。为了做到这一点,我不想每次都计算当前日期的时间戳,而是想在查询中嵌入从日期到时间戳的转换。我尝试过这样的事情(假设"ts" 是我的时间戳字段):

db.my_collection.find({"ts": {$lt: {$toLong : new Date("2020-12-09")}}})

而不是做:

db.my_collection.find({"ts": {$lt: 1578524400}})

但它似乎返回一个空结果。

查询中是否有执行日期到时间戳转换的结果?

【问题讨论】:

  • 在应用程序/shell 级别执行此操作:db.my_collection.find({"ts": {$lt: new Date("2020-12-09").getTime()/1000 }})

标签: mongodb mongodb-query timestamp date-conversion


【解决方案1】:

您可以使用$toLong,但它是一个聚合管道运算符,您需要一个聚合管道而不是普通的find

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 2019-05-09
    • 2021-10-23
    • 2018-12-25
    • 1970-01-01
    • 2022-01-10
    • 2019-11-29
    相关资源
    最近更新 更多