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

服务器会话

本页内容

  • 概述
  • 命令选项
  • 会话命令
  • 会话与访问控制

MongoDB 的服务器会话,或逻辑会话,是客户端会话用来支持因果一致性可重试写操作的基础框架。

重要

应用程序使用客户端会话与服务器会话进行交互。

服务器会话仅适用于副本集和分片集群。

从3.6版本开始,MongoDB驱动程序将所有操作都与服务器会话关联,但不包括未确认的写操作。以下选项可用于所有命令以支持与服务器会话的关联

重要

mongosh和驱动程序将这些选项分配给会话中的命令。

选项
类型
描述
lsid
文档
指定与命令关联的会话的唯一ID的文档。如果指定了txnNumber,则必须包含lsid
txnNumber
64位整数

一个严格递增的非负数,用于唯一标识命令会话中的命令。

如果指定,则命令必须还包含lsid选项。

对于接受语句数组作为参数的deleteinsertupdate命令,以下选项也适用

重要

不要手动设置stmtIds。MongoDB将stmtIds设置为严格递增的非负数。

选项
类型
描述
stmtIds
32位整数数组
唯一标识各自的写操作的数字数组。

以下命令可用于列出、管理和终止MongoDB集群中的服务器会话

命令
描述
使指定的服务器会话过期。
终止所有服务器会话。
终止所有与指定模式匹配的服务器会话。
终止指定的服务器会话。
刷新空闲服务器会话。
启动一个新的服务器会话。

如果部署强制执行身份验证/授权,用户必须经过身份验证才能启动会话,并且只有该用户可以使用该会话。

要使用客户端会话和因果一致性保证$external身份验证用户(Kerberos、LDAP或x.509用户),用户名长度不能超过10k字节。

如果部署不强制执行身份验证/授权,创建的会话没有所有者,任何用户在任何连接上都可以使用。如果用户对不强制执行身份验证/授权的部署进行身份验证并创建会话,则该用户拥有该会话。但是,任何连接上的任何用户都可以使用该会话。

如果部署无缝过渡到身份验证,没有所有者的任何会话都无法使用。

提示

另请参阅

返回

$bit