Mongoose通过代码类型脚本更新访问时间戳



当我调用数据库时,我会返回文档类型。

const table: TableDocument = await this.tableSchema.create({ ...createTableDto })
console.log(table)

表对象如下所示:

{
createdBy: '12',
capacity: 4,
tableNumber: 5,
_id: new ObjectId("618bdb1ab2e5813b6f1fc198"),
createdAt: 2021-11-10T14:45:46.279Z,
updatedAt: 2021-11-10T14:45:46.279Z,
__v: 0
}

但我无法通过代码访问updatedAt。

表__vexists

表.does not exist on this type: TableDocument更新

如果可能的话,我很想告诉typescript我正在返回一个自定义类型:

const table: ResponseTable = await this.tableSchema.create({ ...createTableDto })

其中确实包括updatedAt,但出现错误:Table Document is not assignable to ResponseTable...

我不知道如何使用mongoose 6.0字体脚本支持来解决这个问题

所以过了一段时间我有了这个想法:

export type TableDocument = Table & Document & {updatedAt: Date, createdAt: Date}

当我在创建Schema类Table之后创建TableDocument类型时,我只需将updatedAt和createdAt属性添加到它中,所以当mongoose告诉我它正在返回TableDocument时,这些字段被包括在内,供Typescript使用。

相关内容

  • 没有找到相关文章

最新更新