猫鼬。自动更改给定日期的值

时间:2015-02-18 00:07:24

标签: node.js mongodb mongoose

所以我有一个简单的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"的值如果它通过则为真。

问题是:我需要应用程序至少每天自动检查此值。 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

单独使用Mongoose无法做到这一点。

我的建议(对于它的价值)将是:

last_activity: { type: Date }

...每次用户登录时都会更新。这样,您的数据库就不必知道用户是否处于“活动状态” - 您的应用程序可以根据{{{ 1}}和当前日期。

查询也很容易,因此如果您有批处理作业或只应用于“活动”用户的任何内容,您只需编写一个查询,查找last_activity日期小于的所有用户,例如, 30天前。