gpt4 book ai didi

node.js - Mongodb、mongoose——动态设置TTL时间

转载 作者:太空宇宙 更新时间:2023-11-04 01:01:39 25 4
gpt4 key购买 nike

我指的是这个Time to live in mongodb, mongoose dont work. Documents doesnt get deleted问我的问题:是否可以动态设置 MongoDB 的 TTL 时间?因此,假设您有 token 集合,并且希望将其用于不同的目的。在这种情况下,每次创建 token 时,最好为每个 token 设置特定的 TTL。如果可能的话,您能提供一些代码片段吗?

最佳答案

要动态设置文档的 TTL,您可以使用相同的索引,但在架构中创建另一个字段,例如 expireAt:

expireAt: {
type: Date,
default: null,
}

然后创建一个索引,例如( Mongoose 的示例):

schema.index({ expireAt: 1 }, { expireAfterSeconds: 0 });

现在,对于您想要过期的所有文档,您可以设置确切的日期时间。对于其他字段 expireAt 默认为 null 的人,不会过期。

您可以看到相同的示例 here在 MongoDB 文档中。

关于node.js - Mongodb、mongoose——动态设置TTL时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26430721/

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