【问题标题】:Mongodb query using long milliseconds使用长毫秒的 Mongodb 查询
【发布时间】:2017-04-18 03:48:32
【问题描述】:

我有一个集合,我想根据时间戳字段每 5 分钟导出一次。

当我查询下面的集合时是最大日期:

db.testcol.find({},{_id : 0,ts : 1}).sort({ts:-1})      
2017-04-14 23:40:27.690Z

I converted it to milliseconds:  1492213227000

    ex:        max1=db.testcol.find({},{_id : 0,ts : 1}).sort({ts:-1})
               print (new Date(max1).getTime());

现在,如果我查询集合,则不应有任何大于 1492213227000 的行

ex: db.testcol.find({ts:{$gt:new Date(1492213227000)}},{_id : 0,ts : 1})

但我仍然看到相同的值。

2017-04-14 23:40:27.690Z

请帮我解决这个问题。

谢谢, 阿什温

【问题讨论】:

    标签: json mongodb mongodb-query


    【解决方案1】:

    您缺少时间戳的.690 部分。等效毫秒为 1492213227690 以便保留。

    db.testcol.find({ts:{$gt:new Date(1492213227690)}},{_id : 0,ts : 1})
    

    【讨论】:

    • 是的,但我想知道为什么在使用语句转换它时它会丢失。 print (new Date(max1).getTime());
    • @ashwin max1 在您的示例代码中不是时间戳,而是游标。
    • 有什么办法可以将其转换为时间戳?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多