Definición
setUserWriteBlockModeNovedades en la versión 6.0.
El comando
setUserWriteBlockModebloquea y desbloquea la escritura en todo el clúster.Durante la sincronización del clúster,
mongosyncutiliza el comandosetUserWriteBlockModepara bloquear las escrituras tanto en el clúster de origen como en el de destino. Para obtener más información, consulte la API HTTP. beginning (start) command.Si ya bloqueaste las escrituras en un set de réplicas, las llamadas posteriores a
setUserWriteBlockModeconglobal: truefallarán con un errorIllegalOperationsi elreasonespecificado no coincide con el motivo que proporcionaste al habilitar inicialmente el bloqueo de escrituras. El mensaje de error incluye tanto el motivo actual como el motivo especificado en el comando fallido. Los clústeres fragmentados no aplican esta restricción.Nota
Usuarios y aplicaciones con el
bypassWriteBlockingModeel privilegio puede eludir el bloqueo y continuar realizando guardados.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { setUserWriteBlockMode: 1, global: <boolean>, reason: <string> // Optional } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| entero | Establece este campo a |
| booleano | Bloquea los guardados en un clúster cuando se establece en |
| string | opcional. Especifica el motivo para bloquear los guardados. Acepta los siguientes valores:
|
Acceso requerido
Para ejecutar el comando setUserWriteBlockMode, el usuario debe tener el setUserWriteBlockMode privilegio.
Ejemplo
Habilitar el modo de bloqueo de guardado para el usuario:
db.adminCommand( { setUserWriteBlockMode: 1, global: true } ) Añada un registro a la colección:
db.names.insertOne( { name: "George Washington Cable" } ) El servidor bloquea la escritura porque está activado el bloqueo de escritura del usuario.
Ejemplo de salida:
MongoServerError: User writes blocked Deshabilitar el modo de bloqueo de guardar del usuario:
db.adminCommand( { setUserWriteBlockMode: 1, global: false } ) Añada un registro a la colección:
db.names.insertOne( { name: "George Washington Cable" } ) El método
insertOne()escribe en una colección. El servidor permite la escritura porque el bloqueo de escritura del usuario está desactivado.