db.revokeRolesFromRole()
定義
db.revokeRolesFromRole(rolename, roles, writeConcern)
指定された継承ロールをロールから削除します。
重要
mongosh メソッド
このページでは、
mongosh
メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
revokeRolesFromRole
コマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
db.revokeRolesFromRole()
メソッドは次の構文を使用します。db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } ) db.revokeRolesFromRole()
メソッドは次の引数を取ります。Parameterタイプ説明rolename
stringロールを取り消すロールの名前。roles
配列削除する継承されたロール。writeConcern
ドキュメント任意。 操作の 書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。
roles
フィールドでは、組み込みロールとユーザー定義ロールの両方を指定できます。db.revokeRolesFromRole()
が実行されるのと同じデータベースに存在するロールを指定するには、ロールの名前を使用してロールを指定します。"readWrite" または、次のように、ドキュメントを使用してロールを指定することもできます。
{ role: "<role>", db: "<database>" } 別のデータベースに存在するロールを指定するには、 ドキュメントを使用してロールを指定します。
動作
レプリカセット
レプリカセットで実行する場合、 db.revokeRolesFromRole()
はデフォルトで"majority"
書込み保証を使用して実行されます。
必要なアクセス権
データベースのロールを取り消すには、データベースに対してrevokeRole
アクションが必要です。
例
emea
データベース内のpurchaseAgents
ロールは、 roles
配列にリストされているように、いくつかの他のロールから特権を継承します。
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readOrdersCollection", "db" : "emea" }, { "role" : "readAccountsCollection", "db" : "emea" }, { "role" : "writeOrdersCollection", "db" : "emea" } ] }
emea
データベースに対する次のdb.revokeRolesFromRole()
操作により、 purchaseAgents
ロールから 2 つのロールが削除されます。
use emea db.revokeRolesFromRole( "purchaseAgents", [ "writeOrdersCollection", "readOrdersCollection" ], { w: "majority" , wtimeout: 5000 } )
purchaseAgents
ロールには現在、次のロールが 1 つだけ含まれています。
{ "_id" : "emea.purchaseAgents", "role" : "purchaseAgents", "db" : "emea", "privileges" : [], "roles" : [ { "role" : "readAccountsCollection", "db" : "emea" } ] }