【问题标题】:NestJS, Mongoose - timestamps returning milliseconds instead of secondsNestJS,Mongoose - 返回毫秒而不是秒的时间戳
【发布时间】:2022-01-07 01:59:09
【问题描述】:

在架构之上我有以下装饰器

@Schema({
  discriminatorKey: 'kind',
  timestamps: {
    currentTime: () => Math.floor(Date.now() / 1000),
    createdAt: 'CreatedAt',
    updatedAt: 'UpdatedAt',
  },
})

在架构中,我有

@Prop()
CreatedAt: number;

@Prop()
UpdatedAt: number;

每当我更新某个字段时,UpdatedAt 的值都以毫秒为单位,而不是 timestamps.currentTime1638265771286 中定义的秒而不是 1638265771。我怎样才能解决这个问题?谢谢。

【问题讨论】:

    标签: typescript mongoose nestjs


    【解决方案1】:

    原来我使用的是bulkWrite,它不会触发timestamps 的预钩子,并且完全忽略了currentTime 中提供的功能。 它使用 ISO Date 对象,然后将该对象转换为以毫秒而不是秒为单位返回时间戳的数字。 在更新键中手动将UpdatedAt 设置为第二似乎不起作用。

    【讨论】:

      猜你喜欢
      • 2014-07-20
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多