Se você é
Role
entidade está sendo armazenada em um banco de dados então este código tentará criar essa entidade de Função (com o nome de "admin"
) cada vez que seu aplicativo for iniciado. No entanto, após a primeira vez, essa função já existiria, portanto, você recebe um erro de que tem um "nome" duplicado. O que você pode querer fazer é verificar se a função ainda não existe ou não armazenar as funções em seu banco de dados. Você pode adicionar algum código para verificar o banco de dados atual e adicionar apenas essa função se ela não existir. Algo assim:
Role.find({ name: 'admin' }, function(err, results) {
if (err) { /* handle this! */ }
if (results.length < 1) {
// now we know the DB doesn't have it already, so do the Role creation...
}
});
Observe que você também deseja verificar se essa tabela de funções já possui os principais que você está adicionando e apenas adicioná-los se eles ainda não estiverem lá.