文档菜单
文档首页
/
MongoDB 手册
/ / /

setUserWriteBlockMode

本页内容

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 所需访问权限
  • 示例
setUserWriteBlockMode

版本中6.0.

setUserWriteBlockMode 命令可以阻止和解除整个集群的写入。

在集群到集群同步过程中,集群到集群同步工具 mongosync 使用 setUserWriteBlockMode 命令在目标集群上阻止写入。有关更多信息,请参阅 HTTP API。开始 命令。

注意

具有bypassWriteBlockingMode 权限的用户和应用程序可以绕过阻止并继续执行写入。

此命令在以下环境中的部署中可用

  • MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本

  • MongoDB Community:源代码可用、免费使用和自我管理的 MongoDB 版本

重要

此命令在MongoDB Atlas集群中不受支持。有关所有命令的Atlas支持信息,请参阅不受支持的命令。

该命令具有以下语法

db.adminCommand(
{
setUserWriteBlockMode: 1,
global: <boolean>
}
)

该命令包含以下字段

字段
类型
描述
setUserWriteBlockMode
整数
将此字段设置为1
全局
布尔值
当设置为true时,将阻止集群上的写操作。要启用集群上的写操作,请设置为global: false

要执行setUserWriteBlockMode命令,用户必须拥有setUserWriteBlockMode权限。

  1. 启用用户写阻塞模式

    db.adminCommand( {
    setUserWriteBlockMode: 1,
    global: true
    } )
  2. 向集合中添加记录

    db.names.insertOne( { name: "George Washington Cable" } )

    服务器阻止写入,因为用户写阻塞已被启用。

    示例输出

    MongoServerError: User writes blocked
  3. 禁用用户写阻塞模式

    db.adminCommand( {
    setUserWriteBlockMode: 1,
    global: false
    } )
  4. 向集合中添加记录

    db.names.insertOne( { name: "George Washington Cable" } )

    insertOne() 方法写入集合。服务器允许写入,因为用户写阻塞已被禁用。

返回

setQuerySettings