updateUser (ユーザーの更新)
最終更新:2026-10-09
updateUser (ユーザーの更新)
updateUser は既存ユーザーを変更します。パスワードのリセット、ロールの置換、customData の更新などです。渡したフィールドのみが変更されますが、ロールは新しいリストに一括で置き換わります。mongosh では db.updateUser(user, { pwd, roles, customData }) を呼びます。userAdmin または root が必要です。
| カテゴリ | ユーザー認証 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
db.updateUser("<username>", { pwd: "<new password>" })
db.updateUser("<username>", { roles: [ { role: "readWrite", db: "shop" } ] })
⚙️ パラメータ
| pwd | 新しいパスワード。 |
|---|---|
| roles | 古いロールを完全に置き換える新しいロール一覧。 |
| customData | 任意のカスタムメタデータ。 |
戻り値:成功時は { ok: 1 } を返します
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// updateUser: パスワードのリセットとロール設定
use admin
db.updateUser('reader', {
pwd: 'newpass456',
roles: [ { role: 'read', db: 'shop' }, { role: 'read', db: 'analytics' } ]
})
出力:
{ ok: 1 }
📌 注意事項
- 渡したフィールドのみ更新される
- roles は全リストを置換する。省略した旧ロールは失われる
- userAdmin または root が必要
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
QupdateUser はロールを上書きしますか?
Aはい。roles はリスト全体を置換するので、維持したいロールはすべて含めます。
Qパスワードだけ変更するには?
Apwd だけ渡します。それ以外はそのまま残ります。
Qどの権限が必要ですか?
Aデータベースの userAdmin、または root です。