【发布时间】:2018-01-16 01:56:00
【问题描述】:
我知道,如果我想使用 expires 属性为一个集合设置过期时间,如下所示:
new Schema({
token: {
type: String,
required: true
},
createdAt: {
type: Date,
expires: '10s',
default: Date.now
}
});
但是,如何为集合中的一个属性设置过期时间?
例如,我有一个包含用户名、电子邮件和一组身份验证令牌的架构。我希望在 10 秒后从创建日期删除每个令牌。我试过了:
new Schema({
username: {
type: String,
required: true
},
email: {
type: String,
required: true
},
tokens: [{
createdAt: {
type: Date,
expires: '10s',
default: Date.now
},
auth: {
type: String,
required: true
},
token: {
type: String,
required: true
}
}]
});
但是每次都会删除整个集合,而不是token对象。
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema