所以我有一个简单的Web应用程序与ExpressJS和Mongoose。 我的用户架构看起来像这样:
var userSchema = new mongoose.Schema({
dateexp: Date,
active: { type: Boolean, default: false}
});
var User = mongoose.model('User', userSchema);
我想做的是让app检查所有用户" dateexp"用" date.now"并改变" active"的值如果它通过则为真。
问题是:我需要应用程序至少每天自动检查此值。 谢谢你的帮助
答案 0 :(得分:0)
单独使用Mongoose无法做到这一点。
我的建议(对于它的价值)将是:
last_activity: { type: Date }
...每次用户登录时都会更新。这样,您的数据库就不必知道用户是否处于“活动状态” - 您的应用程序可以根据{{{ 1}}和当前日期。
查询也很容易,因此如果您有批处理作业或只应用于“活动”用户的任何内容,您只需编写一个查询,查找last_activity
日期小于的所有用户,例如, 30天前。