我是 mongodb 和 mongoose 的新手,我很难弄清楚如何执行以下操作。
我有一个架构,比如“用户”,其中包括一个这样的字段:
createdAt : {type: Date, required: true, default: Date.now, expires: '4h'}
因此,当我创建一个新用户时,比如说
var user=new User()
(假设用户 requires
是正确的模型),创建的新用户将在(大约)4 小时后被删除(如果我理解正确的话)。我想知道是否有办法更新用户的
expires
属性。我想做以下事情:expires
,使用户不再过期 任何建议将不胜感激!
最佳答案
唯一的方法是将值设置为 null
。你会失去你可能不想要的 createdAt
值,所以我个人会做的是:
expires
索引。 expires
或 deletionDate
的字段,其中包含 4 小时的生存时间。 null
。 我个人更喜欢将
ttl
设置为 0 并将日期设置为 {default: function() { return new Date(Date.now()+1000*60*number_of_hours); }
。这将使任意延长文档的生存时间变得更容易,并且在数据库中更容易阅读。关于node.js - 用 Mongoose 更新 "expires",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23957624/