【发布时间】:2021-10-26 12:24:49
【问题描述】:
我正在尝试使用 mangoose 和 @nestjs/mongoose 库在 NestJs(typeScript) 项目中创建自毁架构,但无法纠正实现它的方法。我知道如何在使用 js 的 express 框架中做到这一点,但没有找到任何带有 NestJs 的 TS 文档
还更新了我的代码,如下所示,但仍然无法正常工作
import { Prop, Schema, SchemaFactory, SchemaOptions } from '@nestjs/mongoose';
import * as mangoose from 'mongoose';
export type OtpDocument = Otp & mangoose.Document;
// @Schema({ timestamps: { createdAt: { type: Date, expires: 20 } } })
@Schema()
export class Otp {
@Prop({ type: mangoose.Schema.Types.ObjectId, ref: 'User' })
user: any;
@Prop({ expires: 3600 })
OTP: number;
@Prop()
createdAt: Date;
@Prop({ default: Date.now() + 20000 })
expireAt: Date;
}
export const OtpSchema = SchemaFactory.createForClass(Otp);
OtpSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 });
【问题讨论】:
-
你说的是
expires猫鼬吗?也许您可以在“快递”中分享您的做法。 -
@AlexanderStaroselsky 参考此stackoverflow.com/questions/14597241/…
-
所以指的是那个问题。你具体试过什么?您是否尝试将
expires添加到createdAt属性?您是否尝试过创建index?您在添加这些片段时遇到了什么问题? -
是的,也试过了,还是不行,等我更新问题
-
TTL 仅适用于日期类型。您正在尝试申请一个无效的号码。
标签: javascript node.js typescript mongoose nestjs