Я работаю с документами, убирающими документы из коллекции. Приложение java создает индекс для документов Mongo TTL.Mongo TTL не снимает документы
coll.createIndex(new Document("Expires", 1).append("expireAfterSeconds", 0));
При вставке документа я установил Expires
поле для будущего Date
. Для этого тестирования я настраивал его на 1 минуту в будущем.
Я проверял, что дата существует правильно, индекс выглядит правильно, и я ждал 10+ минут (хотя бегун ttl работает каждые шестьдесят секунд), но документ остается.
{
"_id" : ObjectId("569847baf7794c44b8f2f17b"),
// my data
"Created" : ISODate("2016-01-15T02:02:30.116Z"),
"Expires" : ISODate("2016-01-15T02:03:30.922Z")
}
Что еще я мог пропустить? Вот индексы:
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "prism.prismEventRecord"
},
{
"v" : 1,
"key" : {
"Location.X" : 1,
"Location.Z" : 1,
"Location.Y" : 1,
"Created" : -1
},
"name" : "Location.X_1_Location.Z_1_Location.Y_1_Created_-1",
"ns" : "prism.prismEventRecord"
},
{
"v" : 1,
"key" : {
"Created" : -1,
"EventName" : 1
},
"name" : "Created_-1_EventName_1",
"ns" : "prism.prismEventRecord"
},
{
"v" : 1,
"key" : {
"Expires" : 1,
"expireAfterSeconds" : 0
},
"name" : "Expires_1_expireAfterSeconds_0",
"ns" : "prism.prismEventRecord"
}
]
Можете ли вы показать нам содержание db.coll.getIndexes() из оболочки? Просто хочу подтвердить, что индексы делают все в порядке. – bri
Добавил результаты на мой вопрос – helion3