这是我的计划:
var authUserScheme = mongoose.Schema({ token: String, ip: String, valid: {type: Date, default: Date.now(), expires: '1m' }, }, {_id: false}); var usersSchema = mongoose.Schema({ // OTHER THINGS auth : [ authUserScheme ], // other things });
当我设置'auth'路径时,mongodb删除整个文档,但我想在过期日期时只删除auth行...这可能吗?
对不起我的英语,我说西班牙语.
您不能使用TTL索引在到期时删除文档的一部分.
但是,它看起来像是authUserScheme
一个会话概念而不是嵌入式文档.
更好的方法是使用一个参考从authUserScheme
给相关用户,如:
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, // Other fields }) var AuthUser = mongoose.model('AuthUser', authUserSchema); var User = mongoose.model('User', userSchema);