当文档即将过期时通知用户的最佳方式



我有一个日历应用程序,我创建约会,并在5分钟后自动删除,我正在尝试获取距离到期还有1分钟的所有约会并向我的前端发送通知,说这些预约即将到期。

我举了一个例子,但没有得到任何结果:

async function sendNotification(req: Request, res: Response) {
const DATE = new Date();
const NEXT_MINUTE = new Date(DATE.setMinutes(DATE.getMinutes() + 1));

const appointments = await Calendar.aggregate([
{ $match: { expireAt: { $lt: NEXT_MINUTE } } },
]);
console.log("LAST_MINUTE >>", NEXT_MINUTE);
res.status(200).json(appointments);
}

我的问题是如何获得1分钟后到期的预约?

这可能是由于关于Mongoose中聚合的注释。。。

与查询过滤器不同,Mongoose也不强制转换聚合管道。这意味着您有责任确保传递到聚合管道的值具有正确的类型。

传入Date实例可能有问题。

你似乎实际上并不需要一个聚合。尝试使用普通查询代替

const NEXT_MINUTE = new Date(Date.now() + 60000);
const appointments = await Calendar.find({
expireAt: { $lt: NEXT_MINUTE }
});

最新更新