sql >> Base de Datos >  >> NoSQL >> MongoDB

Loopback ValidationError:La instancia de `Role` no es válida. Detalles:`name` ya existe (valor:admin)

Si eres Role entidad se almacena en una base de datos, entonces este código intentaría crear esa entidad de función (con un nombre de "admin" ) cada vez que se inicia su aplicación. Sin embargo, después de la primera vez, ese rol ya existiría, por lo que obtiene un error de que tiene un "nombre" duplicado. Lo que quizás desee hacer es verificar que el rol aún no exista, o no almacenar los roles en su base de datos.

Puede agregar algún código para verificar la base de datos actual y solo agregar ese rol si no existe. Algo como esto:

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...
    }
});

Tenga en cuenta que también querrá verificar si esa tabla de roles ya tiene los principales que está agregando y solo agregarlos si aún no están allí.