MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Loopback ValidationError:Die „Role“-Instanz ist nicht gültig. Details:`name` existiert bereits (Wert:admin)

Wenn Sie Role sind Entität in einer Datenbank gespeichert wird, würde dieser Code versuchen, diese Rollenentität (mit einem Namen von "admin") zu erstellen ) bei jedem Start Ihrer Anwendung. Nach dem ersten Mal wäre diese Rolle jedoch bereits vorhanden, sodass Sie eine Fehlermeldung erhalten, dass Sie einen doppelten „Namen“ haben. Prüfen Sie, ob die Rolle nicht bereits vorhanden ist, oder speichern Sie die Rollen nicht in Ihrer Datenbank.

Sie könnten Code hinzufügen, um die aktuelle Datenbank zu überprüfen, und diese Rolle nur hinzufügen, wenn sie nicht vorhanden ist. Etwa so:

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

Beachten Sie, dass Sie auch überprüfen möchten, ob diese Rollentabelle bereits die Hauptpersonen enthält, die Sie hinzufügen, und sie nur hinzufügen, wenn sie noch nicht vorhanden sind.