如何从数组中删除一个TTL和mongoose的对象?

我想从使用createdAt: { type: Date, default: Date.now }, expireAt: { type: Date, default: undefined } TTL的用户架构中的标记数组中删除令牌,当我使用createdAt: { type: Date, default: Date.now }, expireAt: { type: Date, default: undefined }文件被删除。 但是当我把这些放在数组里面的时候 – 什么都没有发生

希望你能帮助我,这是我的代码:

 var UserSchema2 = new mongoose.Schema({ email: { type: String, required: true }, tokens: [{ access:{ type: String, required: true }, token:{ type: String, required: true, }, createdAt: { type: Date, default: Date.now }, expireAt: { type: Date, default: undefined } }] }); UserSchema2.index({"expireAt": 1 }, { expireAfterSeconds: 5 } ); 

这里是保存文件的中间件:

 app.get('/test', (req, res) => { var tokens = []; tokens.push({access: 'abc', token: 'myToken123', expireAt: new Date(req.query.date)}); var user = new User2({ email: 'example@gmail.com', tokens: tokens, }) user.save().then( (doc) => { res.send(doc); }).catch( (err) => { res.send(err); }); });