Javascript 查询具有预定义间隔的mongo日期字段

Javascript 查询具有预定义间隔的mongo日期字段,javascript,node.js,mongodb,date,Javascript,Node.js,Mongodb,Date,我正在开发一个应用程序,允许客户注册年度账单。我面临的问题是,与账户相关联的配额是基于月周期的(是的,即使对于年度账户也是如此) 当有人在Mongo注册年度账单时,我会在他/她的订阅续费(基本上是现在+一年)时存储,如下所示: 我想设置一个内部cron作业,每天每小时启动一次,并检查哪些年度帐户应(每月)重置配额,就好像它们将在下一个小时内每月更新一样 这是我能对这个问题给出的最清楚的解释 例如,让我们从上面的代码中获取一个帐户。它在2020-09-02的20:02:55更新。因此,每月第二天2

我正在开发一个应用程序,允许客户注册年度账单。我面临的问题是,与账户相关联的配额是基于月周期的(是的,即使对于年度账户也是如此)

当有人在Mongo注册年度账单时,我会在他/她的订阅续费(基本上是现在+一年)时存储,如下所示:

我想设置一个内部cron作业,每天每小时启动一次,并检查哪些年度帐户应(每月)重置配额,就好像它们将在下一个小时内每月更新一样

这是我能对这个问题给出的最清楚的解释

例如,让我们从上面的代码中获取一个帐户。它在2020-09-02的20:02:55更新。因此,每月第二天20:00:00启动的cron作业应该运行该帐户(以便我重置其每月配额)

为了让事情更清楚,在以下时间运行的cron作业应始终返回上述帐户:

2019-09-02 at 20:00:00
2019-10-02 at 20:00:00
2019-11-02 at 20:00:00
2019-12-02 at 20:00:00
等等

换言之,“将在下一个小时内续订的所有年度账户退回,就好像它们将按月计费一样”

对于这个问题,我有一个可能的解决办法,那就是总是在每月的第一天重新设置配额。我只需要有一个每月1号启动的cron任务,但这是次优的。如果有人在这个月中旬注册,那么这应该是他/她的账单周期。
非常感谢。

你看过monogodb吗?看看
$year
$month
$dayOfMonth
@Tareq我将如何使用该聚合作为我的场景?
2019-09-02 at 20:00:00
2019-10-02 at 20:00:00
2019-11-02 at 20:00:00
2019-12-02 at 20:00:00