Meteor JS:如何自动使mongo数据过期?

时间:2015-03-08 01:34:46

标签: javascript mongodb meteor

有没有办法在MongoDb中配置一个集合以自动从MeteorJS到期?我已经看过如何从Mongo site开始,但不确定如何从Meteor中做到这一点:

  Tasks.insert({
    text: text,
    createdAt: new Date(),
  });

  //None of these work:
  Tasks.ensureIndex( { "createdAt": 1 }, { expireAfterSeconds: 2 } );
  Tasks._ensureIndex( { "createdAt": 1 }, { expireAfterSeconds: 2 } );
  Tasks.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 2 } );

1 个答案:

答案 0 :(得分:3)

为什么不自己删除它? insert的第二个参数是回调,您可以在其中使用setTimeout等待2秒:

Tasks.insert({
  text: text,
  createdAt: new Date(),
}, function(err, _id) {
  if (_id != null) {
    Meteor.setTimeout(function() {
      Tasks.remove(_id);
    }, 2000); // 2 seconds delay
  }
});