MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Errore di convalida di loopback:l'istanza `Role` non è valida. Dettagli:`nome` esiste già (valore:admin)

Se sei Role l'entità viene archiviata in un database, quindi questo codice tenterà di creare quell'entità ruolo (con un nome di "admin" ) ogni volta che si avvia l'applicazione. Tuttavia, dopo la prima volta, quel ruolo esisterebbe già, quindi ottieni un errore che indica che hai un "nome" duplicato. Quello che potresti voler fare è controllare che il ruolo non esista già o non memorizzare i ruoli nel tuo DB.

Potresti aggiungere del codice per controllare il DB corrente e aggiungere quel ruolo solo se non esiste. Qualcosa del genere:

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

Tieni presente che vorresti anche controllare se la tabella dei ruoli ha già i principali che stai aggiungendo e aggiungerli solo se non sono già presenti.