самоудаляющийся документ в mongoose
Привет!
Есть ли в mongoose такая возможность, чтоб по истечении некоторого времени документ самостоятельно удалялся из базы данных? Например: юзер зарегистрировался , но не активировал свой аккаунт. И чтоб база данных не засорялась - было бы круто чтоб такие (не активированные) юзеры сами удалялись. |
Да, возможно. Модель должна выглядеть приблизительно так:
var mongoose = require('../libs/mongoose');
var schema = new Schema({
name: {type: String, trim: true, required: true, unique: true},
createdAt: {
type: Date,
expires: '1d',
default: Date.now
}
});
var User = mongoose.model("User", schema);
module.exports = User;
теперь, если сохранить документ
var user = new User({name: 'user name'});
user.save();
то этот документ сам удалится через один день. если мы захотим (после сохранения этого документа) , чтоб он не "самоудалялся" - делаем так:
// находим нужный документ
user = yield User.findById(id);
//...
// так отменяем "самоудаление"
user.update({createdAt: null});
|
| Часовой пояс GMT +3, время: 10:30. |