Já consegui "resolver" aqui!
Fiz a reestruturação para deixar um "ban_history" no banco de dados, visto que é a opção mais recomendada para manter o histórico e não perder informações
por enquanto, está assim:
ban_history: [{
banned_by: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: false
},
ban_date: { type: Date, required: false },
ban_message: {
type: String,
required: false
},
unban_date: { type: Date, required: false },
unban_message: {
type: String,
required: false
},
unbanned_by: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: false
},
}]
caso o usuario seja banido, um objeto a mais será adicionado e, caso seja desbanido, as informações do unban serão adicionadas ao objeto do último ban
Mesmo ocupando mais espaço, acho que é a melhor opção por agora
Na questão do banimento, irei deixar todos os gmails banidos em uma collection separada no banco de dados, junto (ou não) do histórico de bans do usuário
Mesmo assim, obrigado pela ajuda!!