设置TTL不';t删除MongoDB中的记录
我使用Robo Mongo运行我的Mongo DB查询。我有一个集合,其中有“设置TTL不';t删除MongoDB中的记录,mongodb,robo3t,Mongodb,Robo3t,我使用Robo Mongo运行我的Mongo DB查询。我有一个集合,其中有“requestReceivedTimestamp”列,其中包含日期时间(例如:12/13/2016 23:18:56 EST)。我已使用以下命令在此列上设置TTL到期索引。出于某种原因,我没有看到记录被删除。我做错什么了吗 db.logging.createIndex({“requestReceivedTimestamp”:1},{expireAfterSeconds:2592000})-->运行此命令在'reques
requestReceivedTimestamp
”列,其中包含日期时间(例如:12/13/2016 23:18:56 EST)。我已使用以下命令在此列上设置TTL到期索引。出于某种原因,我没有看到记录被删除。我做错什么了吗
db.logging.createIndex({“requestReceivedTimestamp”:1},{expireAfterSeconds:2592000})
-->运行此命令在'requestReceivedTimestamp'上创建TTL索引。
要启用MongoDB TTL监视:db.adminCommand({setParameter:1,ttlMonitorEnabled:true})代码>-->此命令用于确保ttlMonitor
处于打开状态。我不知道如何查看它是打开还是关闭,所以我运行了这个命令来打开它
这就是使用mongo DB时数据的外观
requestReceivedTimestamp的值应为ISO日期(可能是时间戳):
要创建ISO日期,请执行以下操作:
new Date()
new Date('July 22, 2013 14:00:00')
谢谢保罗·雷伊。在使用new Date()插入列数据之后,我能够在使用ttl到期日期索引新列之后删除行。使用了相同的命令-db.logging.createIndex({“recordCreateDate”:1},{expireAfterSeconds:2592000})