MongoDB TTL在地图集上不起作用,但在本地主机上可以正常工作

问题描述

我关注了这篇文章-https://docs.mongodb.com/manual/tutorial/expire-data/
我首先在地图集上创建了索引。已成功添加。但是文件没有按照有效期删除
我在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非常耐心并且乐于助人。他回答了here

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

在“选项”下: { expireAfterSeconds: 0 }