繁体   English   中英

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

[英]Meteor JS: How to expire mongo data automatically?

有没有办法在MongoDb中配置一个集合以自动从MeteorJS到期? 我已经看过如何从Mongo网站上做到这一点,但不知道如何从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 } );

为什么不自己删除它? 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
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM