Executando verificação de segurança...
Respondendo a "Acredito que a regra seja simples. Coloque uma..." dentro da publicação [Não disponível]
2

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!!