【问题标题】:Delete data from a collection after 30 minutes30 分钟后从集合中删除数据
【发布时间】:2020-09-08 23:27:50
【问题描述】:

如何从 mongo db 中的集合中删除数据,以创建我使用 mongoose 的方案。 如何在 30 分钟后删除日期,这是我的代码。

const mongoose = require('mongoose');
const crypto = require('crypto');
const validator = require('validator');

 const sessionSchema = new mongoose.Schema({
firstName:{
    type:String,
    required:[true,'First name is required!!!']        
},
lastName:{
    type:String,
    required:[true,'Last name is required!!!']
},
email:{
    type:String,
    unique:true,
    lowercase:true,
    required:[true,'Email adress is required!!!'],
    validate:[validator.isEmail,'Email adress is incorrect!!!']
},
password:{
    type:String,
    required:[true,'Password is required!!!'],
    minlength:8,
    select:false
},
passwordConfirm:{
    type:String,
    required:[true,'Please confirm your password'],
    validate:{
        validator:function(el){
            return el === this.password;
        }
    },
      message:"Password's are not the same!"
   },
acountToken:String,
accountConfirmToken:String,
accountConfirmTokenExpires:Date,


});



 const Session = mongoose.model('Session',sessionSchema);

 module.exports = Session;

我通过设置 TTL https://docs.mongodb.com/manual/tutorial/expire-data/ 阅读了一些关于从集合中过期数据的内容,但我不明白如何使用或尽可能使用 TTL 索引。

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    尝试在日期列的架构选项中设置expires 选项,请参阅Schema date options

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-12
      • 2013-03-12
      • 1970-01-01
      相关资源
      最近更新 更多