startSession

在本页面

定义

  • startSession

    • version 3.6 中的新内容。

startSession命令为一系列操作启动一个新的逻辑session

startSession具有以下语法:

{ startSession: 1 }

要 run startSession,请使用db.runCommand( { <command> } )方法。

db.runCommand( { startSession: 1 } )

重要 featureCompatibilityVersion必须 3.6 才能使用startSession命令。

也可以看看 Mongo.startSession()

行为

如果部署强制执行 authentication/authorization,则必须通过身份验证才能运行startSession命令。运行startSession的用户拥有创建的 session,只有该用户可以使用 session。

如果部署未强制 authentication/authorization,则创建的 session 没有所有者,并且任何用户都可以在任何连接上使用。如果用户对未强制执行 authentication/authorization 的部署进行身份验证并创建 session,则用户拥有 session。但是,任何连接上的任何用户都可以使用 session。

如果部署过渡到 auth 而没有任何停机时间,则不能使用任何没有所有者的会话。

产量

除了命令的状态和操作 time 之外,startSession还返回以下 session 特定信息:

领域类型描述
id文献包含 session 标识符的 16-byte 通用唯一标识符(UUID)部分的文档。
id: { id: <UUID> }
session 的标识符由此 UUID 与经过身份验证的用户凭据的哈希值连接组成。
timeoutMinutes自上次 client 使用 session 在到期之前保持 active 以来 time(以分钟为单位)的数量。默认情况下,会话的到期超时为 30 分钟。要更改 value,请在启动mongod时设置localLogicalSessionTimeoutMinutes参数。对于副本_set 和分片群集,必须在每个成员上指定相同的 value。