gpt4 book ai didi

node.js - Mongoose 为特定字段添加过期属性

转载 作者:太空宇宙 更新时间:2023-11-04 00:31:15 24 4
gpt4 key购买 nike

我已经为我的 Web 应用程序创建了一个基于 token 的身份验证系统,并且我需要 token 字段的到期日期。保存tokenuser模型如下:

module.exports = (function() {

var userSchema = new Schema({
phone: String,
token: {
value: { type: String, lowercase: true, trim: true }
},
verificationCode: Number,
createdAt: { type: Date, default: Date.now() }
});

var User = mongoose.model('User', userSchema);

return User;

})();

我想知道是否有任何方法可以为 token 字段提供到期日期属性。实际上我想在我的代码中有类似下面的内容来检查 token 是否过期:

User.findOne({}, function( err, user ) {
if (user.token.isExpired()) {
// do something!
}
});

最佳答案

感谢@dyouberg 提出这个问题。是的@sadrzadehsina您也可以使用TTL索引,但从您的需求角度来看,唯一的缺点是一旦文档通过TTL,mongodb将从集合中删除该文档。如果您可以丢失文档,那么 TTL 可能是最好的选择,因为一切都将由 mongodb 本身处理。您所需要做的就是在集合上创建一个索引。

如果您的目的是保留文档,那么 TTL 可能没有帮助,但您可以构建一个简单的逻辑(我在评论中包含它)。

关于node.js - Mongoose 为特定字段添加过期属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40867987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com