我正在 Node.js 中实现一些验证过程。我将每个验证都通过 Mongoose 存储在我的 MongoDB 中,并为其设置了过期属性,因此它会在一段时间后被删除。像这样
var verification = new Schema({
// something else
createdAt: {
type: Date,
expires: '1d',
default: Date.now,
},
});
但我想知道该文档何时被删除。所以我可以做其他事情,比如删除与该验证相关的文档。我尝试过使用 post()
Hook ,
verification.post('remove', function(){
// do something else
};
但这似乎行不通,因为它是在应用程序级别上。该文档由 MongoDB 直接删除,因此不会调用 remove()
。
最佳答案
您无法知道文档何时会被删除,因为 MongoDB 在后台任务中删除过期的文档。目前无法检查哪些文档被删除。
如果您确实需要此功能,您可以创建一个后台作业,每 60 秒从您自己的集合中删除文档,然后通知您哪些文档已被删除。
关于node.js - 我如何知 Prop 有过期属性的文档已被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24322047/