我正在尝试获取 30 天前订阅的用户列表,我使用 $lt 来比较日期,但我什么也没得到,请提供帮助!
- 这是我的架构模型:
var VisitorsSchema = new Schema({
firstname: String,
lastname: String,
subDate: Date
}, {
collection: 'users'
});
- 这就是我试图让用户在 30 天之前订阅的方法:
users.find({
"subDate": {
$lt: new Date(new Date().setDate(new
Date().getDate() - 30))
}
}, function (err, resp) {
if (err) {
return next(err);
}
console.log(resp);
res.send(resp);
});
注意:当我得到一个用户并比较他的订阅日期时,如下所示:
res.send(resp[0]['subDate']>de);
它工作正常,我得到了正确的结果(真或假)。
最佳答案
通过添加 toISOString() 解决了问题:
$lte: new Date(new Date().setDate(new Date().getDate()-daysNumber)).toISOString()
关于node.js - 如何在nodejs中比较两个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56809982/