我有一个nestjs 应用程序,它的模式非常繁重。据我了解,日期存储在没有时区的 mongo 中。我的 API 接受带有时区偏移的 ISO 格式的时间。
插入以下对象{"date": "2009-06-30T18:30:00+11:00"}
将在 mongo 数据库中生成以下文档{date: ISODate('2009-06-30T07:30:00.000Z'), _id: "..."}
所以时区偏移量丢失了。
有没有一种优雅的方法来保持时区偏移量并在 GET 请求中提供具有相同偏移量的 ISO 字符串?也许利用类转换器并将偏移量存储在单独的属性中?如果是,如何?
这是涉及的课程。(这里没有显示 GET 请求的专用 ItemDto。)
Dto:
export class CreateItemDto {
// Some other props are here
/**
* Date of this Information.
* @example "1900-01-01T05:00:00.000+05:00"
*/
@IsNotEmpty()
@IsDate()
@Type(() => Date)
date: Date;
}
架构:
export class ItemSchema {
// Some other props are here
@Prop({ type: Date, required: true })
date!: Date;
}