繁体   English   中英

用猫鼬更新“过期”

[英]Updating “expires” with mongoose

我是mongodb和mongoose的新手,并且很难确定如何执行以下操作。 我有一个架构,说“用户”,其中包括一个像这样的字段:

createdAt  : {type: Date, required: true, default: Date.now, expires: '4h'}

因此,当我创建一个新用户时,说var user=new User() (假设用户requires正确的模型),则在大约4小时后(如果我正确理解),将删除创建的新用户。

我想知道是否有一种方法来更新用户的expires属性。 我要执行以下操作:

  • 从我的数据库中检索用户
  • 更新expires ,因此用户不再过期
  • 保存更改

任何建议将不胜感激!

唯一的方法是将值设置为null 您会丢失您可能不需要的createdAt值,因此我个人要做的是:

  1. 删除现有字段上的expires索引。
  2. 创建一个具有4小时生存时间的名为expiresdeletionDate的字段。
  3. 如果不应该删除用户,请将值设置为null

我个人更喜欢将ttl设置为0,并将日期设置为{default: function() { return new Date(Date.now()+1000*60*number_of_hours); } {default: function() { return new Date(Date.now()+1000*60*number_of_hours); } 这样可以更轻松地任意延长文档的生存时间,并且更易于在数据库中读取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM