MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Loopback ValidationError:A instância `Role` não é válida. Detalhes:`name` já existe (valor:admin)


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á.