Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

db.revokeRolesFromUser()

項目一覧

  • 定義
  • 互換性
  • 動作
  • 必要なアクセス権
db.revokeRolesFromUser()

現在のデータベース上のユーザーから 1 つ以上のロールを削除します。

重要

mongosh メソッド

このページでは、mongosh メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません

データベースコマンドについては、 revokeRolesFromUserコマンドを参照してください。

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

db.revokeRolesFromUser()メソッドは次の構文を使用します。

db.revokeRolesFromUser( "<username>", [ <roles> ], { <writeConcern> } )

db.revokeRolesFromUser()メソッドは次の引数を取ります。

Parameter
タイプ
説明

user

string

ロールを取り消すユーザーの名前。

roles

配列

ユーザーから削除するロール。

writeConcern

ドキュメント

任意。 操作の 書込み保証( write concern ) のレベル。 詳しくは、 書込み保証(write concern) の仕様を参照してください。

rolesフィールドでは、組み込みロールユーザー定義ロールの両方を指定できます。

db.revokeRolesFromUser()が実行されるのと同じデータベースに存在するロールを指定するには、ロールの名前を使用してロールを指定します。

"readWrite"

または、次のように、ドキュメントを使用してロールを指定することもできます。

{ role: "<role>", db: "<database>" }

別のデータベースに存在するロールを指定するには、 ドキュメントを使用してロールを指定します。

db.revokeRolesFromUser() メソッドは、revokeRolesFromUser コマンドをラップします。

このメソッドは、次の環境でホストされている配置で使用できます。

重要

このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

レプリカセットで実行する場合、 db.revokeRolesFromUser()はデフォルトで"majority"書込み保証を使用して実行されます。

データベースのロールを取り消すには、データベースに対してrevokeRoleアクションが必要です。

productsデータベース内のaccountUser01ユーザーには次のロールがあります。

"roles" : [
{ "role" : "assetsReader",
"db" : "assets"
},
{ "role" : "read",
"db" : "stock"
},
{ "role" : "readWrite",
"db" : "products"
}
]

次のdb.revokeRolesFromUser()メソッドでは、ユーザーの 2 つのロールが削除されます。 stockデータベースのreadロールとproductsデータベースのreadWriteロール(これは メソッドが実行されるデータベースでもあります)。

use products
db.revokeRolesFromUser( "accountUser01",
[ { role: "read", db: "stock" }, "readWrite" ],
{ w: "majority" }
)

productsデータベース内のユーザーaccountUser01ユーザーに残りのロールが 1 つだけになりました。

"roles" : [
{ "role" : "assetsReader",
"db" : "assets"
}
]

戻る

db.removeUser