首页 > 解决方案 > 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

标签: databasemongodbmongodb-atlasttl

解决方案


我在 mongodb 论坛上问了同样的问题。
Pavel_Duchovny 非常耐心和乐于助人。他在这里回答。

因此,在使用 Web UI 时 - 您需要将字段名称放在 FIELDS 下: { "expiresAt": 1 }

在选项下: { expireAfterSeconds: 0 }


推荐阅读