gpt4 book ai didi

node.js - 用 Mongoose 更新 "expires"

转载 作者:可可西里 更新时间:2023-11-01 10:04:20 24 4
gpt4 key购买 nike

我是 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. 创建一个名为 expiresdeletionDate 的字段,其中包含 4 小时的生存时间。
  3. 如果不应删除用户,请将该值设置为 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/

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