定義
- revokeRolesFromUser
- ロールが存在するデータベース上のユーザーから 1 つ以上のロールを削除します。 - Tip- mongoshでは、このコマンドは- db.revokeRolesFromUser()ヘルパー メソッドを通じて実行することもできます。- ヘルパー メソッドは - mongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
重要
このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。
構文
このコマンドの構文は、次のとおりです。
db.runCommand(    {      revokeRolesFromUser: "<user>",      roles: [        { role: "<role>", db: "<database>" } | "<role>",        ...      ],      writeConcern: { <write concern> },      comment: <any>    } ) 
コマンドフィールド
このコマンドは、次のフィールドを使用します。
| フィールド | タイプ | 説明 | 
|---|---|---|
| 
 | string | ロールを削除するユーザー。 | 
| 
 | 配列 | ユーザーから削除するロール。 | 
| 
 | ドキュメント | 任意。 操作の 書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。 | 
| 
 | any | 任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。 
 コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。 | 
rolesフィールドでは、組み込みロールとユーザー定義ロールの両方を指定できます。
revokeRolesFromUserが実行されるのと同じデータベースに存在するロールを指定するには、ロールの名前を使用してロールを指定します。
"readWrite" 
または、次のように、ドキュメントを使用してロールを指定することもできます。
{ role: "<role>", db: "<database>" } 
別のデータベースに存在するロールを指定するには、 ドキュメントを使用してロールを指定します。
必要なアクセス権
データベースのロールを取り消すには、データベースに対してrevokeRoleアクションが必要です。
例
productsデータベース内のaccountUser01ユーザーには次のロールがあります。
"roles" : [     { "role" : "assetsReader",       "db" : "assets"     },     { "role" : "read",       "db" : "stock"     },     { "role" : "readWrite",       "db" : "products"     } ] 
次のrevokeRolesFromUserコマンドは、ユーザーの 2 つのロールを削除します。1 つはstockデータベースのreadロールとproductsデータベースのreadWriteロールです。これはまた、 コマンドが実行されるデータベースでもあります。
use products db.runCommand( { revokeRolesFromUser: "accountUser01",                  roles: [                           { role: "read", db: "stock" },                           "readWrite"                  ],                  writeConcern: { w: "majority" }              } ) 
productsデータベース内のユーザーaccountUser01に残りのロールが 1 つだけになりました。
"roles" : [     { "role" : "assetsReader",       "db" : "assets"     } ]