Node.js Mongoose TTL不处理时间戳

Node.js Mongoose TTL不处理时间戳,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,我在获取mongoose时间戳和mongoose expires工作时遇到问题。我在updatedAt上没有看到MongoDB TTL索引 模式: const AdminSessionSchema = mongoose.Schema({ UID: String, device: String, updatedAt : { type: Date, expires: 60 } }, { collection: 'admin.session', timestamps: true });

我在获取mongoose时间戳和mongoose expires工作时遇到问题。我在updatedAt上没有看到MongoDB TTL索引

模式:

const AdminSessionSchema = mongoose.Schema({
  UID: String,
  device: String,
  updatedAt : { type: Date, expires: 60 }
}, { collection: 'admin.session', timestamps: true });
蒙哥希尔:

> db.admin.session.getIndexes()                   
[                                                 
        {                                         
                "v" : 1,                          
                "key" : {                         
                        "_id" : 1                 
                },                                
                "name" : "_id_",                  
                "ns" : "development.admin.session"
        }                                         
]

这样做对吗?或者我遗漏了什么。

您是否使用db.collection.createIndex创建了索引?您应该为字段创建索引,以使TTL正常工作。@Jocket mongoose expire在没有db.collection.createIndex的情况下正常工作,以前没有时间戳:true,因为mongoose为我创建了索引。是否使用ensureIndex进行了检查。。