mongodb每10分钟后运行一次功能

时间:2017-12-30 07:48:09

标签: javascript mongodb mongoose

我在mongodb中有一份文件如下:

login_enqueue_scripts

我想在mongoose中编写一个函数,它根据firstAttemptTime键每隔10分钟调用一次从requestType中删除一个对象。例如,10分钟后,文件应如下所示:

{
    id:1,
    requestType: {
        "api1": { 
            count:1,
            firstAttemptTime: 1514360898751.0
        },
        "api2": { 
            count:4,
            firstAttemptTime: 1514366897751.0
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您似乎想要根据时间戳删除数据。通过为记录设置TTL,可以在MongoDB中执行此操作,然后无需定期运行函数。您只需创建TTL索引并指定应删除文档的秒数。有关于此https://docs.mongodb.com/manual/tutorial/expire-data/

的教程

答案 1 :(得分:1)

这样的事情会起作用

$old_customer = Customer::find($request->old('customer'));

但我想也许Priidik的TTL答案可能更可靠