setUserWriteBlockMode
定義
setUserWriteBlockMode
バージョン 6.0 で追加。
setUserWriteBlockMode
コマンドは、クラスター全体への書込みのブロックとブロック解除を実行します。Cluster-to-Cluster Sync中に、クラスタ間同期ツールである
mongosync
はsetUserWriteBlockMode
コマンドを使用して宛先クラスターへの書込みをブロックします。 詳しくは、 HTTP API startコマンドを参照してください。注意
bypassWriteBlockingMode
特権を持つユーザーとアプリケーションは、ブロックをバイパスして書込みを引き続き実行できます。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
重要
このコマンドは、 MongoDB Atlasクラスターではサポートされていません。 すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { setUserWriteBlockMode: 1, global: <boolean> } )
コマンドフィールド
このコマンドは、次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|---|---|
setUserWriteBlockMode | integer | このフィールドを 1 に設定します。 |
global | ブール値 | true に設定すると、クラスターへの書込みがブロックされます。 クラスターで書込みを有効にするには、 global: false を設定します。 |
必要なアクセス権
setUserWriteBlockMode
コマンドを実行するには、ユーザーにsetUserWriteBlockMode
特権が必要です。
例
ユーザー書込みブロック モードを有効にします。
db.adminCommand( { setUserWriteBlockMode: 1, global: true } ) コレクションにレコードを追加します。
db.names.insertOne( { name: "George Washington Cable" } ) ユーザーの書込みブロックが有効になっているため、サーバーは書込みをブロックします。
出力例:
MongoServerError: User writes blocked ユーザーの書込みブロック モードを無効にします。
db.adminCommand( { setUserWriteBlockMode: 1, global: false } ) コレクションにレコードを追加します。
db.names.insertOne( { name: "George Washington Cable" } ) insertOne()
メソッドはコレクションに書き込みます。 ユーザーの書込みブロックが無効になっているため、サーバーは書込みを許可します。