【问题标题】:Node And Mongodb - run script every 24 hoursNode 和 Mongodb - 每 24 小时运行一次脚本
【发布时间】:2013-04-19 08:49:06
【问题描述】:


我正在使用 node.js 和猫鼬。 我需要每个 mongoose 文档中的数值每 24 小时增加 25,000。

有没有比以下更好的方法:

thing.lastUpdated = new Date();

if(/* check how many days(if any) since lase update */> 0){
    for(var i = 0;i<days;i++){
        //update value
    }
}

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    您可以使用node-cron 来安排增量作业

    【讨论】:

    • flask 和 mongoengine 呢?
    【解决方案2】:

    根据您的用例,您可以根据 创建日期virtual:

    计算它
    var ThingSchema = new Schema({
        created: { type: Date, default: Date.now }
    });
    
    ThingSchema.virtual('numerical').get(function () {
        if (!this.created) return 0;
    
        var delta = (Date.now() - this.created) || 0;
    
        return 25000 * Math.floor(delta / 86400000);
    });
    
    // `created` 2 days ago
    new Thing({ created: Date.now() - 172800000 }).save(function (thing) {
        console.log(thing.numerical);
    });
    

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 2014-03-25
      • 2020-03-05
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多