流星集合在一段时间后过期

时间:2018-03-19 14:46:13

标签: javascript node.js mongodb express meteor

我认为应该在集合中完成,重要的是在一段时间后清除数据。

是否可以设置Meteor Collection的到期日期?

我希望在发布请求后30秒后清除收藏。

 Meteor.methods({
test_brief : function (test_id) {
    check(test_id, String)
    if (!test.findOne({_id: test_id})) {
      test.insert({
          _id: test_id, 
          creationDate: new Date(),
          expireAfterSeconds: 30,

        }
    )

1 个答案:

答案 0 :(得分:0)

您可以在集合中定义索引,如下所示

    if (Meteor.isServer) {
        test.rawCollection().createIndex( { "createdAt": 1 }, { expireAfterSeconds: 30, background: true } );
    }

你的Meteor.methods应该是这样的

    Meteor.methods({
        test_brief: function (test_id) {
            check(test_id, String);

            if (!test.findOne( {_id: test_id} )) {
                test.insert(
                    {
                        _id: test_id,
                        'createdAt': new Date(),
                    }
                );
            }
        }

看看这个,它可能对你有所帮助 https://docs.mongodb.com/manual/tutorial/expire-data/