【问题标题】:MongoDB ISODate value with 0 millisecondsMongoDB ISODate 值为 0 毫秒
【发布时间】:2018-08-28 14:09:19
【问题描述】:

在 MongoDB 集合中,我存储了一些具有 2 个属性 startTime 和 endTime 的文档,这两个属性都是 ISODate 类型。

代码是用 javascript (node.js) 和 Mongoose 编写的,用于与 MongoDB 交互。

猫鼬模型类似于以下内容:

startTime: {
    type: Date,
    required: true
},
endTime: {
    type: Date,
    required: true
},

在我的代码中,我在插入数据库之前将秒数和毫秒数显式设置为 0。但是插入的日期有一些额外的位,我假设是毫秒(我可能弄错了)

这是我的代码的摘录,它将秒和毫秒设置为 0

let startTimeMoment = moment.utc(startTime);
startTimeMoment.seconds(0);
startTimeMoment.milliseconds(0);

let endTimeMoment = moment.utc(endTime);
endTimeMoment.seconds(0);
endTimeMoment.milliseconds(0);

下面是数据库集合中一个文档的截图

这是有问题的原因是因为我正在运行一些考虑到 startTime 和 endTime 的查询,并且由于这些毫秒,查询返回空结果。

我错过了什么?

【问题讨论】:

  • 您展示的内容应该有效。你能提供重现问题的最少代码吗?

标签: node.js mongodb mongoose momentjs


【解决方案1】:

它证明代码的行为符合预期。

尽管我将秒和毫秒设置为 0,但我在更新数据库(facepalm)之前保存了这些值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 2018-10-17
    • 2022-06-13
    • 1970-01-01
    • 2013-07-02
    • 2023-03-11
    相关资源
    最近更新 更多