Pokud jste Role
entita je uložena v databázi, pak by se tento kód pokusil vytvořit tuto entitu role (s názvem "admin"
) při každém spuštění aplikace. Po prvním použití by však tato role již existovala, takže se zobrazí chyba, že máte duplicitní „jméno“. Možná budete chtít zkontrolovat, zda role již neexistuje, nebo zda role neukládáte do databáze.
Můžete přidat nějaký kód pro kontrolu aktuální DB a přidat tuto roli pouze v případě, že neexistuje. Něco takového:
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...
}
});
Všimněte si, že byste také chtěli zkontrolovat, zda tato tabulka rolí již obsahuje principály, které přidáváte, a přidat je pouze v případě, že tam již nejsou.