猫鼬文档过期后删除文件

问题描述

在mongoose文档file/image之后如何从node js应用程序的公共文件夹中删除expire并从mongo dB中删除?

文件名存储在mongodb文档中。

感谢您的任何提示。

解决方法

当通过 TTL 索引删除 MongoDB 文档时,没有服务器端挂钩可以得到通知。

但是,TTL 索引只是服务器端 TTL 线程使用的基于日期的索引,该线程每分钟唤醒一次并删除符合到期条件的新文档。

如果您想添加某种 on-delete 挂钩,我建议您编写自己的到期脚本,并通过 cron 或等效项将其作为计划任务运行。此脚本可以首先运行查询以查找准备过期的匹配文档,然后在实际删除文档之前实现您的应用程序需要的任何通知

或者您可以使用 ttl redis(内存数据结构存储)检查此 article 是否有发布/订阅,并在密钥过期后发送通知

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...