Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb expireAfterSeconds是否有回调?如何用nodejs捕捉它?_Mongodb_Callback_Ttl - Fatal编程技术网

Mongodb expireAfterSeconds是否有回调?如何用nodejs捕捉它?

Mongodb expireAfterSeconds是否有回调?如何用nodejs捕捉它?,mongodb,callback,ttl,Mongodb,Callback,Ttl,这是我的代码示例: var changesDB = new mongoose.Schema({ eventId: String, date: Date }) changesDB.index({ title: 1 }, { expireAfterSeconds : 60*60*24*30 }); 它工作正常,但我需要删除连接到此集合的所有文件,因此我必须使用nodejs捕获此事件。 我怎样才能做到 从MongoDB 3.0开始,MongoDB中没有任何回调机制;特别是,对于TT

这是我的代码示例:

var changesDB = new mongoose.Schema({
    eventId: String,
    date: Date
})

changesDB.index({ title: 1 }, { expireAfterSeconds : 60*60*24*30 });
它工作正常,但我需要删除连接到此集合的所有文件,因此我必须使用nodejs捕获此事件。
我怎样才能做到

从MongoDB 3.0开始,MongoDB中没有任何回调机制;特别是,对于TTL索引没有这样的机制。TTL强制只是一个后台线程,它每分钟查询一次过期的文档,然后删除它们。如果您有需要过期的相关数据,我建议您在应用程序中模拟TTL索引的操作,您可以执行清理相关数据所需的任何额外逻辑

或者,您可以使所有相关文档同时过期,这样它们将几乎同时被删除(在相同的TTL过程中)