我可以减去日期以查看令牌是否有效吗?

时间:2016-04-24 10:34:22

标签: mongodb

我正在创建一个电子邮件验证令牌,并将其与在MongoDB中创建令牌的日期一起保存。

我想知道(而不是在我的node.js API中检查这个 - 并且对数据库进行2次调用)是否可以在一个中进行?如何在数据库中输入日期是否少于24小时?

所以目前,我执行更新位(如果ID匹配使用)

User.update({$and:[ {theID: userID}, {verifyID: emailID} ] },
            {$set: {verified: true} })

因此,在$and块中,如果可能的话,我想添加日期部分。

1 个答案:

答案 0 :(得分:1)

使用匹配查询传递日期,使用$gt运算符

var since = new Date();
since.setDate(since.getDate() - 1);

User.update(
    {
        theID: userID,
        verifyID: emailID,
        Date: {$gt: since}
    },
    {$set: {verified: true}}
);