DBAtlas · Atlas für Datenbankbetrieb

31 RoleNotFound: Role not found

MongoDB

Was bedeutet das?

Die referenzierte Rolle ist in MongoDB nicht definiert. Beim Zuweisen einer Rolle an einen Benutzer, beim Aktualisieren einer Rolle oder beim Abfragen der Rechte einer Rolle wurde ein nicht existierender Rollenname verwendet.

Ursache

Ein falsch geschriebener oder nie angelegter Rollenname in grantRolesToUser/createUser; Suche der Rolle in der falschen Datenbank (Rollen sind an eine bestimmte DB gebunden); oder eine benutzerdefinierte (nicht eingebaute) Rolle, die noch nicht mit createRole definiert wurde.

Lösung

Prüfe den Rollennamen und die Datenbank, zu der er gehört. Vorhandene Rollen auflisten: db.getRoles({showBuiltinRoles: false}) oder die entsprechende Admin-Abfrage über alle DBs. Existiert die benutzerdefinierte Rolle nicht, lege sie zuerst an: db.createRole({role:'reader', privileges:[...], roles:[]}). Gib beim Zuweisen die richtige db an: db.grantRolesToUser('app_user', [{role:'reader', db:'app'}]).

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank