Я использую для взаимодействия с mongodb в своем приложении.mongodb TTL не работает над коллекционной недвижимостью - mongojs
Мне нужно добавить поддержку TTL для коллекции, чтобы документы удалялись каждый час. Вот как я создаю индекс на старте приложения:
db.collection.ensureIndex({'createdAt': 1, expireAfterSeconds: 3600})
createdAt
поле inited в new Date()
при сохранении документа.
Вот как структура документов, выглядит в базе данных:
{
"_id" : ObjectId("5425759f73070ab82f6097ca"),
"user" : "bde8349VIO2RpmhE9Rkn3qvQJDYkr589MeWdsopEteQ3OfxQVPxUhLWH0AMiwnypKhquNEG4eA==",
"tags" : [],
"createdAt" : ISODate("2014-09-26T14:18:07.041Z")
}
Я проверил индексы внутри базы данных, и они выглядят отлично:
> db.collection.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "dbname.collection"
},
{
"v" : 1,
"key" : {
"createdAt" : 1,
"expireAfterSeconds" : 3600
},
"name" : "createdAt_1_expireAfterSeconds_3600",
"ns" : "dbname.collection"
}
]
Но все документы остаются внутри БД и не удаляются. . Есть идеи?
Спасибо!
Вы можете получить документы, на которые ссылаются индексы? –
@FranciscoCorralesMorales, что вы имеете в виду? – Kosmetika