定義
db.revokeRolesFromRole(rolename, roles, writeConcern)指定された継承ロールをロールから削除します。
重要
mongosh メソッド
このページでは、
mongoshメソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません。データベースコマンドについては、
revokeRolesFromRoleコマンドを参照してください。MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。
db.revokeRolesFromRole()メソッドは次の構文を使用します。db.revokeRolesFromRole( "<rolename>", [ <roles> ], { <writeConcern> } ) db.revokeRolesFromRole()メソッドは次の引数を取ります。Parameterタイプ説明rolenamestring
ロールを取り消すロールの名前。
roles配列
削除する継承されたロール。
writeConcernドキュメント
任意。 操作の 書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。
rolesフィールドでは、組み込みロールとユーザー定義ロールの両方を指定できます。db.revokeRolesFromRole()が実行されるのと同じデータベースに存在するロールを指定するには、ロールの名前を使用してロールを指定します。"readWrite" または、次のように、ドキュメントを使用してロールを指定することもできます。
{ role: "<role>", db: "<database>" } 別のデータベースに存在するロールを指定するには、 ドキュメントを使用してロールを指定します。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
重要
このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
レプリカセット
レプリカセットで実行する場合、 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" } ] }