mongodb - Meteor:定时做一次数据库操作

标签 mongodb meteor scheduled-tasks

我有一个包含帖子的应用程序。用户可以对这些帖子进行投票。但是每个星期,比如周五中午 12 点,我想重置投票计数器,以便每个帖子都有一个新的开始。

我知道如何进行数据库操作:

Meteor.methods(
{
    vote: function(ID){
        Posts.update(
            //Selector
            {_id: ID},

            //Modifiers
            {
                $set: {votes: 0}
            }
        )
    }
}
);

其中 Posts 是一个 meteor 集合。

但我不知道如何安排,所以每周定期进行。谁能帮我解决这个问题?

谢谢,

托尼

最佳答案

我会为此目的使用 later.js,它允许您定义复杂的计划,然后您可以使用类似 API 的 setInterval 执行任意代码。

http://bunkat.github.io/later/index.html

稍后在 Meteor 中已经有一个 atmosphere 包可以使用:

http://atmospherejs.com/package/later

服务器/schedule.js :

var schedule=later.parse.text("at 12:00 pm on Fri");
var timer=later.setInterval(function(){
  // your vote reset code goes here
},schedule);

关于mongodb - Meteor:定时做一次数据库操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339925/

相关文章:

java - 无法从 Eclipse 上的 Java 连接到 mongod 实例

Java并发和循环任务执行

java - 我们可以创建一个 Spring ScheduledExecutorTask 池吗?

用于查找最新数据的 mongodb 聚合

python - pymongo:搜索字典或操作

MongoDB,将内部哈希键值按另一个键值分组

javascript - 上传CSV到meteor : _id not defined

javascript - 在 Meteor 1.3+ 中使用异步

meteor - 使用 Meteor Iron-router 中止导航

java - Spring没有运行我的@Scheduled(cron = "0,30 * * * * *")