Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
463 views
in Technique[技术] by (71.8m points)

node.js - Delete MongoDB document at specific time

I am looking into deleting a document at a specific time.

const TestSchema = new Schema({
 expire_at: {
 type: Date,
 },
}, {
 timestamps: true,
});
TestSchema.index({expire_at: 1}, {expireAfterSeconds: 0});

POST

const test = new TestSchema(this.request.body);
  test.expire_at = test.end_time;

  try {
    yield test.save();
  } catch (error) {
    this.status = 409;
    this.response.body = error.errors;
    return;
  }

  this.response.body = test;
  this.status = 201;

It does not seem that the documents delete at the time specified in expire_at.

I am using this Date format: 2016-07-20T05:01:19.567Z

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This will delete the document in two hours:

const TestSchema = new Schema({
    expire_at: {type: Date, default: Date.now, expires: 7200} 
})

//expired in 2 hours

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...