самоудаляющийся документ в 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, время: 09:01. |