我正在创建一个电子邮件验证令牌,并将其与在MongoDB中创建令牌的日期一起保存。
我想知道(而不是在我的node.js API中检查这个 - 并且对数据库进行2次调用)是否可以在一个中进行?如何在数据库中输入日期是否少于24小时?
所以目前,我执行更新位(如果ID匹配使用)
User.update({$and:[ {theID: userID}, {verifyID: emailID} ] },
{$set: {verified: true} })
因此,在$and
块中,如果可能的话,我想添加日期部分。
答案 0 :(得分:1)
使用匹配查询传递日期,使用$gt
运算符
var since = new Date();
since.setDate(since.getDate() - 1);
User.update(
{
theID: userID,
verifyID: emailID,
Date: {$gt: since}
},
{$set: {verified: true}}
);