MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Loopback ValidationError :l'instance `Role` n'est pas valide. Détails :`name` existe déjà (valeur :admin)

Si vous êtes Role l'entité est stockée dans une base de données, alors ce code essaierait de créer cette entité de rôle (avec le nom de "admin" ) à chaque démarrage de votre application. Cependant, après la première fois, ce rôle existerait déjà, vous obtenez donc une erreur indiquant que vous avez un "nom" en double. Ce que vous voudrez peut-être faire, c'est vérifier que le rôle n'existe pas déjà, ou ne pas stocker les rôles dans votre base de données.

Vous pouvez ajouter du code pour vérifier la base de données actuelle et n'ajouter ce rôle que s'il n'existe pas. Quelque chose comme ça :

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

Notez que vous voudrez également vérifier si cette table de rôles contient déjà les principaux que vous ajoutez et ne les ajoutez que s'ils ne s'y trouvent pas déjà.