database - MongoDB TTL 在 atlas 上不起作用,但在 localhost 上可以正常工作
问题描述
我关注了这篇文章 - https://docs.mongodb.com/manual/tutorial/expire-data/
我首先在 atlas 上创建了索引。已成功添加。但这些文件并没有在到期时被删除。
我在 localhost mongo shell 上使用了相同的方法,效果很好。
我添加了这个索引
{ "expiresAt": 1 }, { expireAfterSeconds: 0 }
其中 expiresAt 是我文档中的 Date 对象。
这是我希望删除的文件。
_id :5f55f440058cdd3754907255
name :"first"
language :"Plain Text"
content :"Some text"
createdAt :2020-09-07T08:50:08.708+00:00
expiresAt :2020-09-07T08:51:08.709+00:00
__v :0
解决方案
我在 mongodb 论坛上问了同样的问题。
Pavel_Duchovny 非常耐心和乐于助人。他在这里回答。
因此,在使用 Web UI 时 - 您需要将字段名称放在 FIELDS 下:
{ "expiresAt": 1 }
在选项下:
{ expireAfterSeconds: 0 }
推荐阅读
- android - 在 Android 中使用自定义原始 XML
- python - 检查运行给定脚本的 python 版本
- iframe - BeautifulSoup 找不到现有标签也返回错误标签
- html - 页脚中的 DIV 定位
- algorithm - 有向图的 DFS 树可以有 Ω(n^2) 个交叉边吗?
- javascript - 如何将图像 localStorage 保存到数据库和服务器?
- delphi - 我如何在 DELPHI 中任何单元的初始化块内调用任何过程或函数
- shell - 为什么我不能通过管道输出来自 `nvim -c 'q' --startuptime >(tail -n 1) `
- c# - 无法解析泛型类类型的服务
- android - user.get(position).getId() 不工作