You cannot use the TTL index to delete parts of a document after expiration.
However, it looks like yours authUserSchemeis more of a session concept than an embedded document.
A better approach would be to use a link from authUserSchemeto the appropriate user, for example:
var authUserSchema = mongoose.Schema({
token: String,
ip: String,
valid: {type: Date, default: Date.now(), expires: '1m' },
user: { type: Number, ref: 'User' }
});
var userSchema = mongoose.Schema({
name: String,
})
var AuthUser = mongoose.model('AuthUser', authUserSchema);
var User = mongoose.model('User', userSchema);
source
share