Uso Robo Mongo para ejecutar mis consultas de Mongo DB. Tengo una colección que tiene la columna ' requestReceivedTimestamp ' que contiene la fecha y la hora (Ejemplo: 13/12/2016 23:18:56 EST). He usado los siguientes comandos para configurar el índice de caducidad TTL en esta columna. Por alguna razón, no veo que se eliminen los registros. ¿Estoy haciendo algo mal aquí?
db.logging.createIndex( { "requestReceivedTimestamp": 1 }, { expireAfterSeconds: 2592000 } ) --> Ejecutó este comando para crear un índice TTL en 'requestReceivedTimestamp'
Para habilitar el monitoreo TTL de MongoDB: db.adminCommand({setParameter:1, ttlMonitorEnabled:true}); --> Este comando para asegurarse de que ttlMonitor esté ENCENDIDO. No sé cómo ver si está encendido o apagado , así que ejecuté este comando para encenderlo.
Así es como se ven los datos usando mongo DB.
El valor de requestReceivedTimestamp debe ser una fecha ISO (tal vez una marca de tiempo): https://docs.mongodb.com/manual/tutorial/expire-data/
Para crear una fecha ISO:
new Date() new Date('July 22, 2013 14:00:00')Gracias Pablo Rey. Después de insertar los datos de la columna usando la nueva fecha (), pude eliminar las filas después de indexar la nueva columna con la fecha de vencimiento de ttl. Usé el mismo comando: db.logging.createIndex( { "recordCreateDate": 1 }, { expireAfterSeconds: 2592000 } )