javascript - meteor JS : How to expire mongo data automatically?

标签 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 } );

最佳答案

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

关于javascript - meteor JS : How to expire mongo data automatically?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28922148/

相关文章:

mongodb - 将 AllowDiskUse(true) 添加到聚合

javascript - 如何使用yield和Iron-router?

javascript - Mongo $ 和选择器

javascript - 如何将 tinytest 与发布/订阅一起使用?

Javascript textarea 撤消重做

javascript - 更改基于数组的元素的类

javascript - AJAX 请求返回 JS 而不是 HTML

mongodb - 从mongodb的集合中查找前20个文档

python - Python中使用tempfile和subprocess将mysql转入mongodb

javascript - passport.js 中的 Date.now 无法完成