mongoose如何自动删除过期数据?
设置了以下字段并不起作用。。。
const Schema = mongoose.Schema;
const mailCodeSchema = new Schema({
username: {
type: String,
required: true
},
code: {
type: Number,
required: true
},
createdAt: {
type: Date,
expires: 60
}
});
const mailCode = code_db.model('mail_code', mailCodeSchema);
await mailCode.create({
username: email,
code,
createAt: Date.now()
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查了一下mongoose文档,正确的写法似乎是:
注意这个方法实际上是在集合上创建了一个TTL Index。这个索引完全可以通过手工创建,并且也推荐在生产环境中使用手工创建,原因如下:
这个过程会导致你的生产环境在一段时间内无法访问,并且很难预料恢复时间,因此不如在生产环境维护时间创建索引,或者在创建索引时使用
{background: true}
,或者使用滚动创建索引的方式。