【问题标题】:mongodb timestamp to date迄今为止的mongodb时间戳
【发布时间】:2020-07-12 11:32:08
【问题描述】:

我对 mongodb 很陌生。我有一个如下的集合或 json 文件。

{
  "id": {
    "timestamp": 1592538583,
    "machineIdentifier": 1772242,
    "processIdentifier": -7129,
    "counter": 2887223,
    "timeSecond": 1592538583,
    "time": 1592538583000,
    "date": 1592538583000
  },
  "creationTimestamp": 1592538583524,
  "lastUpdateTimestamp": 1592538642832,
  "idAsString": "5eec35d71b0ad2e4272c0e37"
}

我需要根据时间戳提取记录。当我给出以下格式时,它的工作原理。但我需要人类可读的格式。比如 lastUpdateTimestamp 大于“2020-06-30T00:00:00Z”。我尝试了很多方法,但得到 bson 格式错误。有什么建议吗?

{ "lastUpdateTimestamp": { $gt : new Date(1592282308044) }}

【问题讨论】:

    标签: mongodb mongodb-query


    【解决方案1】:

    尝试将其用作数字。

    { "lastUpdateTimestamp": { $gt : 1592282308044 }}
    

    【讨论】:

    • 如果我按照你提到的那样给出,那么任何记录都不会出现。正如我在问题中提到的那样,我们需要通过日期..但它不是人类可读的。用户将给予价值 2020-06-30。
    • 你可以通过这种方式转换日期new Date('2020-07-30').getTime() developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
    • 注意:你应该知道如何在 js 中使用日期类。如您所见,月份从 0 而不是 1 开始,因此您需要将 1 加到月份。
    • 我收到错误格式不正确的 bson 字符串:{ "lastUpdateTimestamp": { $gt : new Date('2020-06-30').getTime() }} : Date 期望整数毫秒跨度>
    • 我认为这个问题是因为 db 架构。你能用吗const schema = new Schema({ lastUpdateTimestamp: {type:Number, default: new Date().getTime()} });
    猜你喜欢
    • 2020-07-02
    • 2018-08-01
    • 2014-07-04
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多