我希望每月从我的一个馆藏中删除超过1个月的所有文件。该集合中的示例文档如下所示:
{
_id: ObjectId("56e75f1ce851695805ead8ae"),
createDate: ISODate("2016-03-15T01:02:20.821Z"),
foo: "bar"
}
我希望自动安排此任务,因此它不需要人工输入 - 例如,作为一个cron作业 - 所以我希望它尽可能少的逻辑。
如何查询createDate超过1个月的文档?我曾想过尝试这样的事情:
db.col.find({createDate: {$lt: ISODate(ISODate().getTime() - 1000*3600*24*30)}});
...我用当前时间减去1个月毫秒创建一个新的ISODate,但这并不是返回任何数据。即使它确实有效,它也有点难看。我将如何完成这项工作?
答案 0 :(得分:1)
您可以创建TTS索引以删除超过30天的数据。它将在30天后自动删除数据。
db.col.createIndex({“createDate”:1},{expireAfterSeconds:2592000})
答案 1 :(得分:0)
好吧,我明白了。看来我的语法有点不对......不完全确定这个正确的语法是如何工作的,说实话,但它确实做到了我需要的。
$('.my_r_warning').on('click', function () {
CKEDITOR.instances['js-ckeditor'].setData('Reply :');
$('html, body').animate({
scrollTop: $('#form').offset().top
}, 2000)
})