AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

db.grantRolesToUser()(mongoshメソッド)

db.grantRolesToUser(username, roles, writeConcern)

ユーザーに追加のロールを付与します。

重要

mongosh メソッド

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

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

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

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

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

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

Parameter
タイプ
説明

user

string

ロールを付与するユーザーの名前。

roles

配列

ユーザーに付与する追加のロールの配列。

writeConcern

ドキュメント

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

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

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

"readWrite"

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

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

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

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

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

重要

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

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

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

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

データベースにロールを付与するには、そのデータベースに対してgrantRoleアクションが必要です。

products データベースに次のロールを持つユーザー accountUser01 がある場合:

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

次のdb.grantRolesToUser()操作により、 accountUser01には、 productsデータベースでreadWriteロールとstockデータベースでreadロールが付与されます。

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

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

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