DBAtlas · データベース運用アトラス

31 RoleNotFound: Role not found(ロールが見つからない)

MongoDB

意味

参照されたロールが MongoDB で定義されていない。ユーザーへのロール付与、ロールの更新、ロールの権限照会の際に、存在しないロール名が使用された。

原因

grantRolesToUser/createUser でのロール名の綴り誤りまたは未作成のロール名、誤ったデータベースでのロール検索 (ロールは特定の DB に紐付く)、または createRole でまだ定義されていないカスタム (非組込み) ロール。

対処方法

ロール名と所属するデータベースを確認する。既存ロールの一覧: db.getRoles({showBuiltinRoles: false}) または全 DB を対象とした対応する管理クエリ。カスタムロールが存在しない場合は先に作成する: db.createRole({role:'reader', privileges:[...], roles:[]})。付与時に正しい db を指定する: db.grantRolesToUser('app_user', [{role:'reader', db:'app'}])。

DBAtlas で開く →

同じデータベースの他の項目