Node.js 如何知道具有Expires属性的文档已被删除?
我正在Node.js中实现一些验证过程。我让Mongoose将每个验证都存储在我的MongoDB中,并为其设置了expires属性,因此它将在一段时间后被删除。像这样Node.js 如何知道具有Expires属性的文档已被删除?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我正在Node.js中实现一些验证过程。我让Mongoose将每个验证都存储在我的MongoDB中,并为其设置了expires属性,因此它将在一段时间后被删除。像这样 var verification = new Schema({ // something else createdAt: { type: Date, expires: '1d', default: Date.now, }, }); 但我想知道那个文件什么时候被删除。所以我可以做其他事情,比如删
var verification = new Schema({
// something else
createdAt: {
type: Date,
expires: '1d',
default: Date.now,
},
});
但我想知道那个文件什么时候被删除。所以我可以做其他事情,比如删除与验证相关的文档。我试过使用post()
hooks
verification.post('remove', function(){
// do something else
};
但这似乎行不通,因为它是在应用程序级别。MongoDB会直接删除文档,因此不会调用
remove()
。您无法知道文档何时会被删除,因为MongoDB会在后台任务中删除过期的文档。目前无法检查哪些文档已被删除
如果您确实需要此功能,可以创建一个后台作业,该作业将每隔60秒从您自己的集合中删除文档,然后通知您删除了哪些文档