0
私は2つのコレクション、ギルドとログを持っています。ログへの参照は 'guild.mod_log.entries'に配列として保存されています。文書は正常に期限切れですが、 'mod_log.entries'の参照は削除されません。Mongoose、期限切れの参照を削除する
だから私は、期限切れの参照をどのように削除するのだろうと思っています。ここで
はギルドとエントリの間のリンクが外部キーであるように、あなたは、スキーマを再構築できスキーマ部品
// guilds.js
module.exports = new mongoose.Schema({
\t _id: {type: String, required: true},
\t members: [require('./guildMember')],
\t mod_log: require('./guildModLog'),
\t default_role: String
});
// guildModLog.js
module.exports = {
\t enabled: {type: Boolean, default: false},
\t channel_id: {type: String},
\t entries: [{type: mongoose.Schema.Types.ObjectId, ref: require('./modLogEntry')}]
};
// modLogEntry.js
module.exports = new Schema({
\t action: {type: String, required: true, enum: ['Ban', 'Unban', 'Kick', 'Warn']},
\t timestamp: {type: Date, required: true, expires: '5s'},
\t user: {type: String, required: true},
\t staff: {type: String, required: true},
\t reason: {type: String, required: true, minlength: 5, maxlength: 100},
});